如何访问以前的updated_at?

时间:2016-04-25 10:40:12

标签: ruby-on-rails ruby ruby-on-rails-3

我有模型,我跟踪字段updated_at

我有没有办法追踪之前的updated_at

例如

updated_at = A(其中A是实际日期时间戳)

完成了一些工作,然后调用了save

updated_at = B(其中B是实际的日期时间戳)

有没有办法可以访问之前的updated_at,即A?

3 个答案:

答案 0 :(得分:6)

如果您有可用的对象,则可以致电:

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

答案 1 :(得分:4)

请查看ActiveModel::Dirty模块:

Promise

如果您想跟踪所有更改的值,可以使用Paper Trail宝石。

答案 2 :(得分:3)

如果您使用paper trail gem,这将非常有用。 它将保留磁盘上的先前记录,这可能会影响您的应用程序性能。 实现内存解决方案以存储先前记录的更好方法。