在 rails 2.3.8 站点上,我在每个页面上都有登录链接(将用户带到单独的登录页面)。成功登录后,用户当前被重定向到 root。相反,我想重定向到他们之前查看的页面。
我试过使用 request.referer:
redirect_back_or_default(request.referer)
其中redirect_back_or_default:
def redirect_back_or_default(default)
redirect_to(session[:return_to] || default)
session[:return_to] = nil
end
但是,即使登录成功,也会产生“访问被拒绝”错误。
最佳答案
我不会尝试重定向到引用者,而是设置 session[:return_to]
您需要一个 before 过滤器,在您对所有操作进行身份验证之前运行:
def store_return_to
session[:return_to] = request.url
end
然后将您的重定向更改为
redirect_back_or_default()
关于ruby-on-rails - 登录后将用户返回到上一页(Rails),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9489660/