ActiveRecordのコールバック早見表 | Rails


Ruby on RailsのModel(Active Record)のコールバックを整理してみました。

コールバック名 説明
after_find findなどでオブジェクトが見つかった場合に実行。検索結果の数だけコールバックが実行
after_initialize オブジェクトがインスタンス化されたタイミングで実行。オブジェクト分だけ実行
before_validation バリデーションが行われる直前で実行。カラム値の微調整に利用
after_validation バリデーションの直後に実行。バリデーションが失敗しても実行
before_save オブジェクトがDBに保存される直前で実行。INSERTUPDATE両方で実行
before_create オブジェクトがDBに新規保存(INSERT)される直前で実行されます
before_update オブジェクトにより、DBを更新(UPDATE)する直前で実行されます
after_create オブジェクトがDBに新規保存(INSERT)された直後で実行されます
after_update オブジェクトにより、DBを更新(UPDATE)した直後で実行されます
after_save オブジェクトをDBに保存した直後で実行。INSERTUPDATE両方で実行
after_commit after_save後のDBにCOMMITされた直後に実行されます
after_rollback バリデーションエラーやSQLエラーが発生した場合に実行されます
after_touch touchメソッドが呼び出された直後に実行されます
before_destroy destroyメソッドで削除される直前に実行されます
after_destroy destroyメソッドで削除された直後に実行されます

🎳 参考リンク

📚 おすすめの書籍

🖥 サーバについて

このブログでは「Cloud Garage」さんのDev Assist Program(開発者向けインスタンス無償提供制度)でお借りしたサーバで技術検証しています。 Dev Assist Programは、開発者や開発コミュニティ、スタートアップ企業の方が1GBメモリのインスタンス3台を1年間無料で借りれる心強い制度です!(有償でも1,480円/月と格安)