您好,我正在处理一些后台作业,我需要从模块或直接从工作人员重定向URL,但据我所知,只有一种方法,即redirect_to,但它在模块和工作者中不可用MVC架构,但我需要这样做。
请参阅下面的代码: -
@oauth = Koala::Facebook::OAuth.new(Figaro.env.fb_app_id,Figaro.env.fb_secret_token,Figaro.env.fb_callback_url)
oauth_code_url = @oauth.url_for_oauth_code
redirect_to oauth_code_url
我还包含了include ActionController::UrlFor
来获取Module和Worker中的redirect_to方法,但是它再次抛出错误,我无法将控制器方法调用到模块或worker中。有人可以建议这样做的最佳方法是什么?
答案 0 :(得分:0)
重定向仅在请求/响应周期内有意义,工作人员通常在后台发生异步,因此可能已启动的用户不等待工作人员的响应。
如果你确实想要等待(同步运行工作者),那么工作人员不能重定向,工作人员应该“发信号”控制器执行重定向(这是因为你想保持关注点分离)。