在rails 2.3.8站点上,我在每个页面上都有登录链接(这会将用户带到一个单独的登录页面).成功登录后,用户当前被重定向到root.相反,我想重定向到他们以前查看的页面.
我尝试过使用request.referer:
redirect_back_or_default(request.referer)
Run Code Online (Sandbox Code Playgroud)
其中redirect_back_or_default:
def redirect_back_or_default(default)
redirect_to(session[:return_to] || default)
session[:return_to] = nil
end
Run Code Online (Sandbox Code Playgroud)
但即使登录成功,也会产生"拒绝访问"错误.
Cha*_*hap 17
我没有尝试重定向到引荐来源,而是设置会话[:return_to]
在对所有操作进行身份验证之前,您需要一个在之前运行的过滤器:
def store_return_to
session[:return_to] = request.url
end
Run Code Online (Sandbox Code Playgroud)
然后将您的重定向更改为
redirect_back_or_default()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6487 次 |
| 最近记录: |