Railsの削除系メソッド
ポイント
ActiveRecordを介して削除 or SQLで直接削除
dependent: destroy の指定での子モデルの削除動作が異なる
コールバックの発火が異なる(before_destroy, after_destroy等)
ActiveRecordを使用して削除
関連モデルごと削除する場合に使用
destroy
ActiveRecordで1件削除
子モデルを削除する
コールバック呼ばれる
destroy_all
ActiveRecordで全件削除
子モデルを削除する
コールバック呼ばれる
SQLで直接削除
関連を無視して削除する場合に使用
delete
DELETEクエリで1件削除
子モデルを削除しない
コールバック呼ばれない
delete_all
DELETEクエリで全件削除
子モデルを削除しない
コールバック呼ばれない
https://railsguides.jp/association_basics.html
https://api.rubyonrails.org/v8.0/classes/ActiveRecord/Associations/CollectionProxy.html#method-i-destroy
#Rails