Active Recordのコールバック
Rails側では、内部でオブジェクトが作成されたり、更新されたり削除されたりする。コールバックとは、オブジェクトのライフサイクル期間における特定の瞬間に呼び出されるメソッドである。
コールバックを利用することで、Active Recordオブジェクトが作成、保存、更新、削除などのイベント発生の時に常に実行されるコードを書くことができる。
種類と順番
オブジェクトの生成
- before_validation
- after_validation
- before_save
- around_save
- before_create
- around_create
- after_create
- after_save
オブジェクトの更新
- before_validation
- after_validation
- before_save
- around_save
- before_update
- around_update
- after_update
- after_save
オブジェクトの削除
- before_destroy
- around_destroy
- after_destroy
オブジェクトのinstance化
- after_initialize
find
- after_find
touch
- after_touch
使い方
普通にモデルクラスの中に書いたら良い。
1 2 3 4 5 6 7 |
|
1 2 3 4 5 |
|
1 2 3 |
|
上の三つの書き方で自分が実行したい瞬間に実行されるコードを書くことができる。
参照
Active Record コールバック
Rails4でモデルのコールバックの一覧と順番
Railsのcallbackについて調べた
ActiveRecordのコールバックの順序・コールバック内のロールバック処理について