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模块 这可能对你有帮助。