繁体   English   中英

Rails / Devise登录后如何重定向到特定页面

[英]Rails/Devise How to redirect to a specific page after login

loginsignup ,仅当用户来自特定页面时,我才要将用户重定向到特定页面。

到目前为止,我一直在尝试使用devise

  1. 我在链接中添加了一个参数,并在登录页面中检查了该参数。 使用方法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是否是最佳选择,因为我想对注册页面执行相同的操作。

非常感谢你。 任何帮助都感激不尽。

简单! 为什么不尝试:

URI(request.referer).path吗?

现在,您基本上可以确定您的来源了。

您还可以存储会话中您来自的页面。 例如

session[:intended_url] = request.url

希望能有所帮助。

试试这个

if resource.class == User && current_user
    user_dashboard_path
else
    super
end

我认为您应该在具有new_user_session_path形式的会话中传递带有会话路径的参数,例如url: session_path(resource_name, :registration_process => true) ,然后再使用if params[:registration_process]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM