ActiveRecord は、モデルが変更されておらず、挿入/更新クエリが生成されていない場合でも、save メソッドが呼び出されるたびに after_save コールバックを呼び出していました。
これは実際にはデフォルトの動作です。そして、それはほとんどの場合問題ありません。
しかし、一部の after_save コールバックは、モデルが実際に保存されたかどうかに影響されます。
モデルが実際に after_save に保存されたかどうかを判断する方法はありますか?
次のテスト コードを実行しています。
class Stage < ActiveRecord::Base
after_save do
pp changes
end
end
s = Stage.first
s.name = "q1"
s.save!