如何在 Devise 中创建确认后重定向?
在添加确认模块
之前,自定义after_sign_up_path
第一次登录/注册
工作正常,但现在当我单击确认链接时在电子邮件中,它重定向到我为登录后路径(用户配置文件)设置的路径。
我的目标是创建一个表单向导和“入门”页面来收集其他信息。明显的警告是,此重定向只会在确认后发生一次。
我尝试了 Stack Overflow 上发布的其他一些解决方案,但似乎都不再有效。
最佳答案
实现此目的的侵入性较小的方法可能只是覆盖 Devise::ConfirmationsController
的 after_confirmation_path_for
方法。
在app/controllers
目录中创建一个新的confirmations_controller.rb
:
class ConfirmationsController < Devise::ConfirmationsController
private
def after_confirmation_path_for(resource_name, resource)
your_new_after_confirmation_path
end
end
在 config/routes.rb
中,添加此行,以便 Devise 将使用您的自定义 ConfirmationsController
。这假设 Devise 在 users
表上运行(您可以编辑以匹配您的表)。
devise_for :users, controllers: { confirmations: 'confirmations' }
重新启动网络服务器,您应该就可以了。
关于ruby-on-rails - 如何在确认后使 Devise 重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10926626/