在login
和signup
之后,我希望仅在用户来自特定网页时才将用户重定向到特定网页。
到目前为止我尝试过的方法 - 使用devise
:
我在链接中添加了一个参数,并在登录页面中检查了该参数。使用after_sign_in_path_for(resource)
中的方法devise
,我为该参数创建了一个条件。如果true
,页面将重定向到我想要的页面
链接
<%= link_to "Login before continuing", new_user_session_path(:registration_process => true)
在ApplicationController.rb
def after_sign_in_path_for(resource)
if params[:registration_process]
leads_path # desired page
else
super
end
end
这不起作用。
我不知道使用params
是否是最佳选择,因为我想对注册页面做同样的事情。
非常感谢你。任何帮助将不胜感激。
答案 0 :(得分:0)
轻松!为什么不尝试:
URI(request.referer).path
?
现在您基本上可以确定您来自的路径。
您还可以在会话中存储您来自的页面。 e.g。
session[:intended_url] = request.url
希望有所帮助。
答案 1 :(得分:0)
试试这个
if resource.class == User && current_user
user_dashboard_path
else
super
end
答案 2 :(得分:0)
我认为你应该在你的new_user_session_path表单中传递带有会话路径的params,例如url: session_path(resource_name, :registration_process => true)
之后,您可以使用if params[:registration_process]