LoginSignup
0
0

More than 1 year has passed since last update.

[Rails]dependent: :destroyオプションとは

Posted at

きっかけ

アプリ作成を復習中に???となりましたので、復習として、投稿します。

dependent: :destroyオプションとは

dependentオプションとは親モデルを削除した時に、
親モデルと関連している子モデルに対する挙動を指定するオプションです。

<例>
1つのツイートに対して5つのコメントがあるとします。
そのツイートが削除されたら、それに付随する5つのコメントも削除されるべきです。

その場合、Tweetモデル(親モデル)に関連している
Commentモデル(子モデル)のdependentオプションに、:destroyを指定します。

実際のコード

モデルのアソシエーションに追記します

class Tweet < ApplicationRecord
   has_many :comments, dependent: :destroy
end

上記記述により、
tweetsテーブルのレコードが削除された場合、
関連しているcommentsテーブルのレコードも同時にdestroyメソッドが実行され、一緒に削除されます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0