ActiveRecord использовать для вызова after_save
обратный вызов каждый раз, когда метод сохранения
называется, даже если модель не была
изменилось и нет запроса вставки / обновления
порождал.
ActiveRecord выполняется: обратные вызовы after_save каждый раз, когда запись успешно сохраняется независимо от того, была ли она изменена.
# record invalid, after_save not triggered
Record.new.save
# record valid, after_save triggered
r = Record.new(:attr => value)
# record valid and not changed, after_save triggered
r.save
То, что вы хотите знать, - это если запись изменена, а не если запись сохранена.
Вы можете легко сделать это, используя record.changed?
class Record
after_save :do_something_if_changed
protected
def do_something_if_changed
if changed?
# ...
end
end
end