ActiveRecord
before_xxx, after_xxxといったActiveRecordのコールバックを特定の条件で絞り込みしたい時は、 ifオプションを使うのが楽。 after_update :update_fuga, if: -> { saved_change_to_hoge_column? } ただこれだとコールバックに引数を指定したい時に上手くい…
Rails5.1からは特定のカラムが更新されたかどうかは、以下のメソッドで判定するようになった。 Save前 {カラム名}_changed?の代わりにwill_save_change_to_{カラム名}? {カラム名}_was の代わりに {カラム名}_in_database Save後 {カラム名}_changed?の代わ…
特定の画面からの新規登録だけバリデーションをかけたいなど、 条件を絞ってバリデーションをかけたくなることはよくある。 そんな時は以下のようにsave時にcontextをオプションに渡してあげて、 with_optionsでその時に実行するバリデーションをまとめて設…