Just do IT

思うは招く

Railsガイド「Active Record コールバック」を読んだメモ

Active Record コールバック - Railsガイド

コールバックとは

「オブジェクトが、こんな状態になったらこのメソッドを呼び出してねー」と設定するときのメソッドのことをコールバックと呼ぶ。バリデーションもコールバックのひとつ。

Active Recordオブジェクトが作成/保存/更新/削除/検証/データベースからの読み込み、などのイベント発生時に常に実行されるコードを書くことができる。

before_destroyは注意

before_destroyコールバックは、確実に実行するためdependent: :destroyよりも前に配置するか、prepend: trueオプションを使う。

before_destory の prepend 指定について - アクトインディ開発者ブログ

コールバックをスキップするメソッドに注意すべし

以下メソッドはコールバックをスキップするので注意。

  • decrement!
  • decrement_counter
  • delete
  • delete_all
  • increment!
  • increment_counter
  • update_column
  • update_columns
  • update_all
  • update_counters

その他