gpt4 book ai didi

ruby-on-rails - 在 rails 3.2 + 设计 2.0 之后设计列confirmed_at 不再更新

转载 作者:行者123 更新时间:2023-12-03 16:20:12 24 4
gpt4 key购买 nike

升级到 rails 3.2 并设计 2.0 后
并单击通过电子邮件发送或从开发中的控制台复制的确认链接,confirmed_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, ....>
而你收到的链接(你也可以在浏览器中手动复制粘贴应该类似(并且与上面的确认 token 一致)
<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, confirmation_sent_at: 2012-02-10 11:06:41 UTC, unconfirmed_email: nil, ....>
如果在浏览器中复制链接时仍然无效,能否复制日志的最后几行?
周围的人
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"}

关于ruby-on-rails - 在 rails 3.2 + 设计 2.0 之后设计列confirmed_at 不再更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9184845/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com