我正在开发Ruby on Rails应用程序并使用Devise进行用户身份验证。但是,每当我登录或退出(从任何页面)时,我总是被重定向到主页" /"。虽然我尝试做的是当我从任何页面登录时(例如" / events")我被重定向回到这个确切的页面(" / events" in this case)登录后。退出也是如此。
我试过关注this link。但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
如何解决此问题?
答案 0 :(得分:0)
尝试将request.referrer
用于sessions_controller.rb
或application_controller.rb
您可以使用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