退出后重定向设计

时间:2011-06-29 00:05:52

标签: ruby-on-rails devise

使用Devise将用户重定向到她退出后当前所在页面的最佳做法是什么?

devise docs表示要覆盖以下内容(在应用程序控制器中):

def after_sign_out_path_for(resource_or_scope)
  # logic here
end

这很容易。但是,我将上一页设置为会话变量,如下所示:

session[:return_to] = request.fullpath

问题在于,当您退出时会破坏会话,并且在会话被销毁之后会发生top方法,这意味着您无法再访问它。我想把它放在一个类变量或类似的东西中,但想看看SO的想法。

1 个答案:

答案 0 :(得分:33)

如果您一直在使用点击退出链接的页面,您可以在请求中使用引荐来源。

def after_sign_out_path_for(resource_or_scope)
  request.referrer
end