加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 在rails 3.2设计2.0之后,设计列确认_at不再更

发布时间:2020-12-17 03:45:57 所属栏目:百科 来源:网络整理
导读:升级到rails 3.2并设计2.0后 并单击通过电子邮件发送的确认链接或从开发中的控制台复制的确认链接,confirm_at列不会更新.结果就是你无法登录. 解决这个问题的方法是什么,因为日志中没有任何内容,可访问的属性包含了confirmed_at,因此该列应该是可更新的. 解
升级到rails 3.2并设计2.0后
并单击通过电子邮件发送的确认链接或从开发中的控制台复制的确认链接,confirm_at列不会更新.结果就是你无法登录.

解决这个问题的方法是什么,因为日志中没有任何内容,可访问的属性包含了confirmed_at,因此该列应该是可更新的.

解决方法

几个轴用于您的故障排除.

首先(显而易见的:-))您已在用户模型中激活确认

devise : :confirmable

然后,检查数据库和模型中是否定义了以下列(如果您使用的是Mongoid,则使用不同的类型)

## Confirmable
t.string   :confirmation_token
t.datetime :confirmed_at
t.datetime :confirmation_sent_at
# t.string   :unconfirmed_email # Only if using reconfirmable

最后(我不知道它适用于你并提出问题)但是2.0中有关于确认的变化

Besides,a few configuration options were renamed or removed:

Devise.confirm_within was renamed to Devise.allow_unconfirmed_access_for;

然后,为刚刚创建的新用户提供rails控制台的是什么?

应该给出类似的东西

User.last
 => #<User .... email: "youremail@example.com",confirmation_token: "abch76UfqHBBxHw97123",confirmed_at: nil,confirmation_sent_at: 2012-02-10 11:06:41 UTC,unconfirmed_email: nil,....>

您收到的链接(您也可以在浏览器中手动复制粘贴应该类似于(并与上述确认令牌一致)

<p><a href="http://localhost:5000/users/confirmation?confirmation_token=abch76UfqHBBxHw97123">Confirm my account</a></p>

应相应地修改控制台中的用户

User.last
 => #<User .... email: "youremail@example.com",confirmation_token:nil,confirmed_at: confirmed_at: 2012-02-10 11:28:04 UTC,....>

如果在浏览器中复制链接时仍然无效,是否可以复制日志的最后几行?

周围的人

20:36:51 web.1     | Started GET "/users/confirmation?confirmation_token=abch76UfqHBBxHw97123" for 127.0.0.1 at 2012-02-10 20:36:51 +0900
20:36:51 web.1     | [127.0.0.1] Processing by Devise::ConfirmationsController#show as HTML
20:36:51 web.1     |  [127.0.0.1]   Parameters: {"confirmation_token"=>"abch76UfqHBBxHw97123"}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读