繁体   English   中英

Rails-Devise-登录或注销后重定向到当前页面

[英]Rails - Devise - Redirect to current page after login or logout

我正在研究Ruby on Rails应用程序,并使用Devise进行用户身份验证。 但是,无论何时(从任何页面)登录或注销,我总是会重定向到主页“ /”。 虽然我想做的是,当我从任何页面登录时(例如“ / events”),登录后我都被重定向回该页面(在本例中为“ / events”)。 对于注销也是如此。

我尝试了此链接 但是store_user_location的输出始终为“ /”,并且函数after_sign_out_path_forafter_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.rbapplication_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

参见devise Wiki

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM