![](/img/trans.png)
[英]Devise redirect after login or logout doesn't work with Rails page caching
[英]Rails - Devise - Redirect to current page after login or logout
我正在研究Ruby on Rails应用程序,并使用Devise进行用户身份验证。 但是,无论何时(从任何页面)登录或注销,我总是会重定向到主页“ /”。 虽然我想做的是,当我从任何页面登录时(例如“ / events”),登录后我都被重定向回该页面(在本例中为“ / events”)。 对于注销也是如此。
我尝试了此链接 。 但是store_user_location
的输出始终为“ /”,并且函数after_sign_out_path_for
和after_sign_out_path_for
不会被覆盖,并且我的代码也从未到达过。
我还在application_controller中添加了after_sign_out_path_for
,如下所示:
def after_sign_in_path(resource_or_scope)
puts stored_location_for(resource_or_scope) || super
end
我该如何解决这个问题?
尝试对sessions_controller.rb
或application_controller.rb
使用request.referrer
您可以使用request.referer
访问引荐路径
像下面
protected
def after_sign_in_path_for(resource_or_scope)
stored_location_for(resource_or_scope) || request.referrer
end
def after_sign_out_path_for(resource_or_scope)
stored_location_for(resource_or_scope) || request.referrer
end
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.