0

嗨,我正在处理一些后台作业,我需要从模块或直接从工作人员重定向 URL,但据我所知,只有一种方法,即 redirect_to,但根据 rails 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 中。谁能建议这样做的最佳方法是什么?

4

1 回答 1

0

重定向只在请求/响应周期内有意义,工作人员通常在后台异步发生,因此可能发起的用户不会等待工作人员的响应。

如果您确实想等待(同步运行工作程序),则工作人员不应该重定向,工作人员应该简单地“通知”控制器执行重定向(这是因为您希望保持关注点分离)。

于 2017-08-25T15:47:33.310 回答