所以我正在尝试构建一个用于rails练习的社交网络,使用devise gem要求用户确认电子邮件以启用登录。
我的问题: 我希望用户在他/她第一次登录时填写表单。第一次发生在他们点击确认电子邮件中的链接时。
用户登录的所有其他时间都会转到另一个页面。
我该怎么做?
答案 0 :(得分:1)
您可以通过覆盖设计确认方法after_confirmation_path_for来实现此功能。
class ConfirmationsController < Devise::ConfirmationsController
private
def after_confirmation_path_for(resource_name, resource)
your_new_after_confirmation_path
end
end
在routes.rb中添加以下行,以便设计使用您的自定义控制器。
devise_for :users, controllers: { confirmations: 'confirmations' }
然后重启服务器。