在我保存之前是否存在对象/记录是否脏以及Rails中哪些字段发生了变化?
实施例
假设我有一个Person模型,而Person有一个名为name和age的属性。在db中,id为1的Person在20岁时被命名为“John”。
p = Person.find 1
p.name #John
p.age #20
现在,当我将他的名字从约翰改为内森时,我有什么方法可以识别
现在我知道第一个答案。如果我将他的名字更改为Nathna,我可以执行以下操作
p.name = "Nathan"
p.changed? #true
但是,无论如何,我是否确定哪个字段已更改?可能是一个返回已更改的字段数组的方法吗?
p.dirty_fields #[:name]
答案 0 :(得分:8)