用Devise登录后重定向到上一页

时间:2016-07-15 15:58:56

标签: ruby-on-rails ruby devise

我正在尝试使用Devise实现此功能,但除了重定向到主页之外,我无法做任何事情。

我需要在after_sign_in_path_for方法中添加一些内容。

我试过了:

def after_sign_in_path_for(resource)
  request.env['omniauth.origin'] || stored_location_for(resource) || root_url
  super
end

我已经看过this question以及几乎所有关于此事的帖子都没有运气。显然,Devise默认存储以前的位置,但我自己尝试过这样做:

after_filter :store_location

def store_location
  # store last url as long as it isn't a /users path
  session[:previous_url] = request.fullpath unless request.fullpath =~ /\/users/
end

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

我已经完成了上述的几十种不同组合以及其他问题的答案。为什么这些都不起作用?我甚至没有得到任何错误或错误,它基本上只是忽略了我的代码并重定向到主页,无论我做什么。

1 个答案:

答案 0 :(得分:0)

您可以尝试将request.referer与此

一起使用
redirect_to request.referer

question也可以提供更多洞察力