注销后设计会话[:previous url]为空

时间:2014-03-27 05:18:32

标签: ruby-on-rails ruby-on-rails-3 devise

登录后我使用this how-to重定向回当前页面,使用Devise注销。 它几乎总是有效,但有一个案例不是。

我也在注销后重定向到登录页面。没有这种重定向,一切都在起作用。

无效的情况是:当我退出并重新登录时。在登录页面中,我打印会话[:previous url],它是空的,登录后,它会重定向到根路径·

这种行为对我来说似乎很奇怪......有什么想法吗?

更新

这是我提到的重定向。这样,会话[:previous url]在登录页面中为空

def after_sign_out_path_for(resource)
    login_path
end

这是没有重定向的方式。这样,session [:previous url]正常工作

def after_sign_out_path_for(resource)
    session[:previous_url] || root_path
end

1 个答案:

答案 0 :(得分:0)

您需要覆盖Devise的方法after_sign_out_path_for才能实现此目的。在您的应用程序控制器中添加此方法

def after_sign_out_path_for(resource_or_scope)
  request.referrer
end