Rails 5 redirect_back在本地运行不正常

时间:2016-12-22 10:47:53

标签: ruby-on-rails ruby ruby-on-rails-5

我最近将一个应用程序升级到Rails 5,然后将所有对redirect_to :back的引用更新为redirect_back

这似乎在生产中表现得如预期,在本地运行应用程序时,它会重定向到页面上呈现的最后一个图像的URL。虽然这不是一个真正的问题,但我想知道是否有人遇到过类似的问题并且有任何解决方案吗?

1 个答案:

答案 0 :(得分:0)

安装插入"无参考开关"在Chrome浏览器中,redirect_back方法将按预期实现。

当我使用方法redirect_back时遇到了同样的问题,我在源代码中找到了原因

#source code in rails
def redirect_back(fallback_location:, **args)
  if referer = request.headers["Referer"]
    redirect_to referer, **args
  else
    redirect_to fallback_location, **args
  end
end

根据源代码,如果request.header [" Referer"]存在,无论fallback_location的值如何,页面都将返回到最后一个图像。

redirect_back(fallback_location: root_path)
redirect_back(fallback_location: users_path)

我使用chrome浏览器,上面的代码会返回一些结果,你可以调试它。我发现一个名为"没有引用开关的镀铬插件"并启用它,该插件可以使http头中的引用无效,因此redirect_back方法将按照我们的预期实现。