设计确认重新发送“登录不能为空”错误&来自电子邮件的确认链接“确认令牌无效”错误

时间:2014-06-05 18:08:17

标签: ruby-on-rails-3 devise devise-confirmable

ruby​​' 1.9.3'

" rails"," 3.2.13"

"设计",'〜> 3.2.2'

我没有修改就使用了Devise确认控制器。我创建了一个用户并发送了电子邮件。然后单击链接以确认结果"确认令牌无效"。电子邮件中的令牌与数据库中的令牌相同。

此外,当用户处于注册编辑状态时,我提供了重新发送确认电子邮件的链接。这会将用户带到Confirmations New,然后您填写电子邮件并单击"重新发送确认说明"按钮并收到错误"登录不能为空。"用户已登录,否则他们将无法访问用户/编辑或用户/确认/新用户。

我已将devise配置为接受user_name或电子邮件以进行登录。

1 个答案:

答案 0 :(得分:0)

在密码重置期间,必须将针对用户记录的resent_password_sent_at列设置为Time.now /发送特定密码更改令牌的时间。

raw, enc = Devise.token_generator.generate(@user.class, :reset_password_token)
@user.update_attributes(reset_password_token: enc, reset_password_sent_at: Time.now)