Railsの削除系メソッド
ポイント
ActiveRecordを介して削除 or SQLで直接削除
dependent: destroy の指定での子モデルの削除動作が異なる
コールバックの発火が異なる(before_destroy, after_destroy等)
ActiveRecordを使用して削除
関連モデルごと削除する場合に使用
destroy
ActiveRecordで1件削除
子モデルを削除する
コールバック呼ばれる
destroy_all
ActiveRecordで全件削除
子モデルを削除する
コールバック呼ばれる
SQLで直接削除
関連を無視して削除する場合に使用
delete
DELETEクエリで1件削除
子モデルを削除しない
コールバック呼ばれない
delete_all
DELETEクエリで全件削除
子モデルを削除しない
コールバック呼ばれない