如何访问之前的updated_at?
问题描述:
我有跟踪该领域updated_at
的模型。如何访问之前的updated_at?
有没有办法跟踪以前的updated_at
?
例如
的updated_at = A(其中A是一个实际的日期时间戳)
一些工作完成然后save
称为
的updated_at = B(其中B是一个实际的日期时间戳)
有没有一种方法可以访问以前的updated_at
即A?
答
请看看ActiveModel::Dirty模块:
object.updated_at # returns current value
object.updated_at_changed? # returns true or false if value has changed
object.updated_at_was # return last value
object.updated_at_change
或者
如果你想跟踪所有更改的值,你可以使用Paper Trail宝石。
答
如果有可用的对象,那么你可以拨打:
object.previous_changes
这将返回你的哈希如下显示哪些属性已经改变:
{"name"=>["foo", "bar"], "updated_at"=>[Tue, 19 Apr 2016 08:19:40 UTC +00:00, Mon, 25 Apr 2016 10:49:47 UTC +00:00]}
参见: previous_changes
我认为这些方法只适用于更改实例对象的值。当您保存时,这些更改将被重置。该问题询问如何在保存发生后访问先前的值,所以我不确定这会回答问题。 – hypern