0

我有以下情况:如果我的学生对象的名称属性发生变化,我想保留旧值并将其保存到另一个表中。

因此,如果我有一个名称属性为“John 1”的学生对象,在student.update_attributes(:name => 'John 2')之后,我希望能够在before_update中捕获旧名称值“John 1”回调钩子,例如。最好的方法是什么?提前致谢。

4

1 回答 1

3

before_update钩子中,您可以访问特殊_was方法来获取每个字段的先前值

before_update do
  new_name = self.name     # 'John 2'
  old_name = self.name_was # 'John 1'
end
于 2012-06-04T21:48:50.780 回答