使用Devise将用户重定向到她退出后当前所在页面的最佳做法是什么?
devise docs表示要覆盖以下内容(在应用程序控制器中):
def after_sign_out_path_for(resource_or_scope)
# logic here
end
这很容易。但是,我将上一页设置为会话变量,如下所示:
session[:return_to] = request.fullpath
问题在于,当您退出时会破坏会话,并且在会话被销毁之后会发生top方法,这意味着您无法再访问它。我想把它放在一个类变量或类似的东西中,但想看看SO的想法。
答案 0 :(得分:33)
如果您一直在使用点击退出链接的页面,您可以在请求中使用引荐来源。
def after_sign_out_path_for(resource_or_scope)
request.referrer
end