编辑:添加了说明
给定以下两个类
class Foo < ActiveRecord::Base
belongs_to :bar
end
class Bar < ActiveRecord::Base
end
当我更改 foo 上的条时,我想要一种方法来查看 foo 实例已更改:
foo = Foo.find(x)
foo.bar # returns #<Bar id:1>
foo.bar = Bar.new
foo.changed? # returns false
foo.changes # returns an empty hash
我不想将 bar_id 设置为脏(因为它没有改变)拥有以下内容会很好:
foo.changed? # returns true
foo.changes # returns {:bar => [#<Bar id: 1>, nil]}
有没有一种聪明的方法可以将它破解到 Rails 中?这不是 Rails 的一部分有什么原因吗?