我理解为了检查模型是否已更改,可以使用:
instance.changed?
还要检查属性是否已更改:
instance.attr_changed?
但我们如何确定哪个属性已更改?有没有办法我们可以逐个遍历所有属性并以某种方式确定哪一个已经改变了?
答案 0 :(得分:3)
您可以使用以下方式轻松查看:
instance.changed_attributes
或
instance.changed
第一个会给你哈希{"attribute" => "value before change"}
。
第二个返回更改的属性名称数组:["name of changed attribute"]
。