Rails Devise Confirmable - 如何重定向到与根目录不同的页面
Rails Devise Confirmable - How Can I Redirect to a Different Page Than Root
在我的 Rails 6 应用程序中,我实现了 Devise 和可确认模块。 confirmable 的默认行为是在创建用户后,将用户重定向到根路径。
我只想将这些刚刚创建帐户的人重定向到 new_user_session_path
而不是根路径。
我已经通读了 SO 问题和 the Devise Wiki,但它仅解决了在用户确认其帐户后将某人重定向到的位置。
我尝试过的:
更改根:
devise_scope :user do
root to: "devise/sessions#new"
end
这确实在用户创建帐户后将用户重定向到登录页面,但当所有用户转到我的根 URL 时,它也会将所有用户重定向到此页面,即 foo.com。
更改注册控制器
我将此添加到我的控制器:
def after_sign_up_path_for(resource)
new_user_session_path
end
这没有效果。有谁知道如何做到这一点(要么重定向到 root 以外的另一个页面,要么可能更改我的路由以在它们来自 registrations#new 时重定向它们)?
好的,你必须覆盖
after_inactive_sign_up_path_for
因为你使用的是confirmable模块
这可能对你有帮助。
在我的 Rails 6 应用程序中,我实现了 Devise 和可确认模块。 confirmable 的默认行为是在创建用户后,将用户重定向到根路径。
我只想将这些刚刚创建帐户的人重定向到 new_user_session_path
而不是根路径。
我已经通读了 SO 问题和 the Devise Wiki,但它仅解决了在用户确认其帐户后将某人重定向到的位置。
我尝试过的:
更改根:
devise_scope :user do
root to: "devise/sessions#new"
end
这确实在用户创建帐户后将用户重定向到登录页面,但当所有用户转到我的根 URL 时,它也会将所有用户重定向到此页面,即 foo.com。
更改注册控制器
我将此添加到我的控制器:
def after_sign_up_path_for(resource)
new_user_session_path
end
这没有效果。有谁知道如何做到这一点(要么重定向到 root 以外的另一个页面,要么可能更改我的路由以在它们来自 registrations#new 时重定向它们)?
好的,你必须覆盖
after_inactive_sign_up_path_for
因为你使用的是confirmable模块 这可能对你有帮助。