🔊
Rails コールバックの順番
コールバックの順番
※以下の順番で続行される
before_validation
after_validation
before_save
around_save
before_update / before_create
around_update / around_create
after_update / after_create
after_save
after_commit / after_rollback
・before_validation
バリデーションが行われる直前で実行
・after_validation
バリデーションが行われた直後に実行
・before_save
バリデーションに成功し、オブジェクトが保存される直前で実行
オブジェクトの保存、更新(INSERTやUPDATE)時に実行される
・before_create / before_update
before_saveの後に実行
・オブジェクトが保存(INSERT)されるとき「before_create」が実行される
・オブジェクトが更新(UPDATE)されるとき「before_update」が実行される
・after_create / after_update
after_saveの直前に実行
・オブジェクトが保存(INSERT)された直後「after_create」が実行される
・オブジェクトが更新(UPDATE)された直後「after_update」が実行される
・after_save
after_create、after_update の直後(COMMITの直前)に実行
・after_commit
after_save後(COMMIT直後)に実行
・after_rollback
バリデーションエラーやSQL実行エラー時に実行
Discussion