Ruby on rails 即使在重新加载后更新属性时也不更新属性

Ruby on rails 即使在重新加载后更新属性时也不更新属性,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,我正在做关于以下内容的rails教程: 我有一段代码,用于创建重置令牌,并将其哈希值和创建时间保存到数据库中 def create_reset_digest self.reset_token = User.new_token update_attribute(:reset_digest, User.digest(reset_token)) value = update_attribute(:reset_sent_at, Time.zone.now) print

我正在做关于以下内容的rails教程:

我有一段代码,用于创建重置令牌,并将其哈希值和创建时间保存到数据库中

def create_reset_digest
    self.reset_token = User.new_token
    update_attribute(:reset_digest,  User.digest(reset_token))
    value = update_attribute(:reset_sent_at, Time.zone.now)
    print value
end
在重置时更新属性之前启动调试发送地址:

self.reset_sent_at == 2000-01-01 12:36:53 UTC
之后:

self.reset_sent_at == Thu, 22 Oct 2015 12:52:47 UTC +00:00
但是做self.reload可以:

self.reset_sent_at == 2000-01-01 12:36:53 UTC
那么,更新_属性可能没有保存在数据库上

但print值返回True,表示保存成功


我不确定发生了什么。

在我有时间“重置发送时间”的模式上发现了发生的事情
而不是t.datetime。奇怪的是,update_属性返回true。

您确定要重新加载记录吗。出于调试目的,请尝试在
update\u属性(:reset\u sent\u at,Time.zone.now)
之后添加
self.reload
,然后
将self.reset\u sent\u放置在
。你的测试失败了吗?有一个测试失败了,这是成功重置的测试,它说链接已经过期。插入self.reload并放入静止打印2000-01-01 12:36:53 UTC