检测has_one中的更改:通过关联

时间:2013-07-07 19:07:53

标签: ruby-on-rails rails-activerecord

通过提供.changed等方法,以及(如果您的模型具有title属性)自动.title_changed?方法,ActiveRecord可以轻松跟踪记录更改。

但这种狡猾似乎并没有扩展到通过联想神奇地创造的“属性”。例如,假设我有:

class Foo < ActiveRecord::Base 
  has_one :bar, through: foo_bar_associations
end

class Bar < ActiveRecord::Base
  belongs_to foo
end

然后更改与特定bar相关联的foo未显示在foo.changed中。此外,没有.bar_changed?方法自动创建。

有没有一种简单的方法来弥补这个差距?是否可以添加此功能,如果是,如何添加?

1 个答案:

答案 0 :(得分:-1)

查看ActiveRecord Persistence模块的触摸方法 http://api.rubyonrails.org/classes/ActiveRecord/Persistence.html#method-i-touch

那是你在找什么?