Ruby on rails 即使在重新加载后更新属性时也不更新属性
我正在做关于以下内容的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
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