Был ли грязный плагин для ActiveRecord? - PullRequest
2 голосов
/ 09 февраля 2010

Я работаю над кодом, который использует много обратных вызовов after_save, и я помню, как увидел плагин, который позволяет массиву model.changes сохраняться после вызова save.

Было бы очень полезно, если бы я мог просто написать if body_did_change? в моих after_save вызовах, вместо того, чтобы взламывать что-то вместе с фильтром before_save только для установки флага.

Я уже писал что-то подобное раньше, но я бы предпочел использовать что-то поддерживаемое, и клянусь, я видел этот плагин раньше.

Ответы [ 2 ]

3 голосов
/ 28 ноября 2010

Опоздал на ваш ответ здесь, но сам искал то же самое ...

Rails 3 поддерживает следующее:

person.name # => 'bob'
person.name = 'robert'
person.save
person.previous_changes # => {'name' => ['bob, 'robert']}

Смотрите здесь: http://edgeapi.rubyonrails.org/classes/ActiveModel/Dirty.html

Приветствия

2 голосов
/ 09 февраля 2010

Я полагаю, что он встроен в последнее время. Я использовал его в своем проекте .. См. http://ryandaigle.com/articles/2008/3/31/what-s-new-in-edge-rails-dirty-objects

...