我在我的应用程序控制器中授权和重定向,但 redirect_to 方法没有运行。我正在使用 rails '4.2.6',我不确定我们是否使用了 'api mode' 或者只是在使用 rails 应用程序作为后端 api 时去掉了额外的东西。
任何 redirect_to 方法都不是实际重定向用户,而是发送以下响应。
"<html><body>You are being <a href=\"http://www.example.com/api/v1/login\">redirected</a>.</body></html>"
我在我的 rails 测试中以及当我们从前端向这个后端 rails 应用程序发送请求时都得到了这个响应。
这是我的应用程序控制器代码。我编写的所有方法,例如 'loggin_in' 和 'authorized_but_timed_out' 都已经过测试并且工作正常,但 redirect_to 不是。
application_controller.rb
before_action :direct_traffic
def direct_traffic
if logging_in
redirect_to api_v1_some_path
elsif authorized_but_timed_out
redirect_to api_v1_some_other_path
else
redirect_to controller: params[:controller], action: params[:action]
end
end