如何访问上一个 updated_at?
How to access previous updated_at?
我有一个模型,我在其中跟踪字段 updated_at
。
有什么方法可以跟踪之前的updated_at
?
例如
updated_at = A(其中 A 是实际的日期时间戳)
完成一些工作,然后调用 save
updated_at = B(其中 B 是实际的日期时间戳)
有什么方法可以访问之前的 updated_at
即 A?
如果您有可用的对象,那么您可以调用:
object.previous_changes
这会return你一个散列如下显示哪些属性已经改变:
{"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
请看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 Gem.
如果你使用paper trail gem,它会很有用。
它会将之前的记录保留在磁盘上,这可能会影响您的应用程序性能。
实现内存解决方案以存储以前记录的更好方法。
我有一个模型,我在其中跟踪字段 updated_at
。
有什么方法可以跟踪之前的updated_at
?
例如
updated_at = A(其中 A 是实际的日期时间戳)
完成一些工作,然后调用 save
updated_at = B(其中 B 是实际的日期时间戳)
有什么方法可以访问之前的 updated_at
即 A?
如果您有可用的对象,那么您可以调用:
object.previous_changes
这会return你一个散列如下显示哪些属性已经改变:
{"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
请看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 Gem.
如果你使用paper trail gem,它会很有用。 它会将之前的记录保留在磁盘上,这可能会影响您的应用程序性能。 实现内存解决方案以存储以前记录的更好方法。