我对redirect_to :back
有问题。是的,它是引荐来源。
我经常得到异常(exception)
我意识到这是引荐来源不可用的结果。有没有一种方法,例如,可以在每次访问时访问的访问页面上都设置一个 session 变量,并且在HTTP_REFERER不可用时,利用此 session 变量重定向到?
最佳答案
您不太可能确实有 session 且没有推荐人。
没有设置引荐来源网址的情况并不少见,我通常会挽救这种期望:
def some_method
redirect_to :back
rescue ActionController::RedirectBackError
redirect_to root_path
end
如果您经常这样做(我认为这是个坏主意),则可以将其包装在Maran建议的其他方法中。
顺便说一句,我认为这是一个坏主意,因为这会使用户流变得模棱两可。仅在登录的情况下才有意义。
更新:正如一些人使用Rails 5指出的那样。
而是使用
redirect_back
,此方法还支持备用。然后,代码变为:def some_method
redirect_back fallback_location: root_path
end