有一个需求。
需要在model的before_save里面判断某个column的值是否改过了(对于数据库中的值来讲)。然后在model的before_save里面用这样的语句:do_something if self.column_changed?(:name)
似乎Rails本身没有一个column_changed?方法,也没找到现成的plugin。
自己hack了一下ActiveRecord::Base,在find以后把当前对象的attributes再duplicate一份,虽然可以用,希望知道更好的方法。
需要在model的before_save里面判断某个column的值是否改过了(对于数据库中的值来讲)。然后在model的before_save里面用这样的语句:do_something if self.column_changed?(:name)
似乎Rails本身没有一个column_changed?方法,也没找到现成的plugin。
自己hack了一下ActiveRecord::Base,在find以后把当前对象的attributes再duplicate一份,虽然可以用,希望知道更好的方法。
本文探讨了在Rails应用中如何有效检测模型字段是否发生变化的方法。作者提到在before_save回调中判断某个字段值是否已更改的需求,并尝试使用column_changed?方法实现这一目标。然而,发现Rails并未内置此方法,因此寻求替代方案。
4083

被折叠的 条评论
为什么被折叠?



