是否有Rails方法来检查观察者中哪些属性已更新?

nfm*_*nfm 7 attributes ruby-on-rails observer-pattern

我有一个ActivityObserver,正在观察tasks,并有一个after_update回调.

我想测试是否已修改特定属性update.

是否有Rails方法来比较主题的属性与更新前的内容,或检查它们是否已更改?

Roh*_*hit 9

当正在执行after_update回调时,每个ActiveModel对象都有一个名为的方法changed_attributes.您可以在调试环境中查看它.每个ActiveRecord对象都有此方法.它具有已更改/修改的所有值的哈希值.这也称为脏对象.

看看其中的一些教程

Railscasts

脏物