rails设计 - 如何重定向到入门链接 - 验证电子邮件后

AnA*_*ice 4 ruby-on-rails devise ruby-on-rails-3

我正在使用Devise和我的rails 3 app.该应用要求用户在继续之前验证其电子邮件.

如何通过收到的电子邮件确认消息成功验证用户的电子邮件地址后,如何将用户重定向到/ gettingstarted等特定网址?

谢谢

Bra*_*ker 9

当用户点击确认链接时,他们将被带到确认页面,该页面检查确认令牌,如果有效则自动将其记录到应用程序中.您可以覆盖ApplicationController中的after_sign_in_path_for方法(如Devise wiki上所示),然后在用户第一次登录时将它们重定向到您的入门页面.

def after_sign_in_path_for(resource_or_scope)
  if resource_or_scope.is_a?(User) && first login
    getting_started_path
  else
    super
  end
end
Run Code Online (Sandbox Code Playgroud)

对于"首次登录",您可以测试confirmed_at时间戳是否在现在的几分钟内,如果您还使用可设置的可跟踪模块,您可以检查sign_in_count是否为1,或者您可以在跟踪的用户模型中创建自己的字段此信息.