我从2.2.3更新了Devise gem - > 3.2。其他一切正常,但是作为电子邮件发送的帐户确认链接不能正常工作。
当用户点击该链接时,它总是要求用户重新发送确认链接,它永远不会确认该帐户。
我检查了用户表中存储的确认令牌,并且以电子邮件形式发送的确认令牌都相同,但仍无效。
这是我的帐号确认邮件代码。
<p>Welcome <%= @email %>!</p>
<p>You can confirm your account email through the link below:</p>
<p><%= link_to 'Confirm my account', confirmation_url(@resource, :confirmation_token => @resource.confirmation_token) %></p>
答案 0 :(得分:3)
根据this blog,您需要更改您的Devise邮件程序,以使用@token
而不是旧的@resource.confirmation_token
。
这应该可以解决您遇到的任何基于令牌的确认问题。这可能会修复任何解锁或重置密码令牌问题。这是您的邮件程序更新代码
<p>Welcome <%= @email %>!</p>
<p>You can confirm your account email through the link below:</p>
<p><%= link_to 'Confirm my account', confirmation_url(@resource, :confirmation_token => @token) %></p>