1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

dependent: :destroyの使い方

Posted at

#背景
アプリ制作において、dependent: :destoryは必須になると思います。
自分の復習のためにもアウトプットしていきます。

#dependent: :destoryとは何??
例えばブログのようなアプリを作成した時に、userを削除するとそのuserに紐づいた投稿も一緒に削除してくれる機能です。この記述がないと、userを削除しても投稿だけ残ってしまいエラーが発生します。

#使い方

user.rb
Class User < ApplicationRecord
  has_many :tweets, dependent: :destroy
end
tweet.rb
Class Tweet < ApplicationRecord
  belongs_to :user
end

userモデル側にdependent: :destroyを記述することでuserに紐づいたtweetがすべて消えます。
注意として、tweetモデル側にdependent: :destroyを記述するとtweetに紐づいたuserが削除されてしまいます。


以上

1
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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?