我正在處理一些使用大量after_save回調的代碼,並且我記得看到一個插件允許model.changes
數組在save
的調用後保留。ActiveRecord的「髒」插件?
這將是一個很大的幫助,如果我可以只寫在我的after_save
電話if body_did_change?
,而不必砍東西一起用before_save
過濾器只是設置一個標誌。
我以前寫過類似的東西,但我更喜歡使用支持的東西,我發誓我以前見過這個插件。
我正在處理一些使用大量after_save回調的代碼,並且我記得看到一個插件允許model.changes
數組在save
的調用後保留。ActiveRecord的「髒」插件?
這將是一個很大的幫助,如果我可以只寫在我的after_save
電話if body_did_change?
,而不必砍東西一起用before_save
過濾器只是設置一個標誌。
我以前寫過類似的東西,但我更喜歡使用支持的東西,我發誓我以前見過這個插件。
我相信它現在是內置的 - 最近的一個功能。我一直在使用它在我的項目..見http://ryandaigle.com/articles/2008/3/31/what-s-new-in-edge-rails-dirty-objects
路後期你的答案在這裏,但在尋找同樣的事情自己...
Rails 3的支持以下功能:
person.name # => 'bob'
person.name = 'robert'
person.save
person.previous_changes # => {'name' => ['bob, 'robert']}
在這裏看到:http://edgeapi.rubyonrails.org/classes/ActiveModel/Dirty.html
乾杯
是的,我需要的東西調用'save'但之後將繼續存在。就像現在一樣,我的'after_save'回調函數在「save」調用之前不知道哪些屬性發生了變化。 – Luke 2010-02-09 09:46:10
哇,我的壞。看起來它確實在'after_save'調用中起作用!我最後一次嘗試這是〜6個月前,或者它是一個新的加法,或者我早些時候搞砸了一些東西。謝謝! – Luke 2010-02-09 09:51:00