0
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 1 year has passed since last update.

railsで、レコードが削除されたときに、リレーションしているレコードも一緒に消えるように書くにはどうすれば良い?

Posted at

(chatGPTの返答メモ)

Railsでは、Active Recordの便利な機能を使って、親レコードが削除されたときに関連する子レコードを自動的に削除することができます。これは、「dependent: :destroy」というオプションを使用して実現できます。

例えば、親モデル Parent と子モデル Child がある場合、以下のように has_many を使って関連付けを行うと、dependent: :destroy オプションを使用して、Parent が削除された場合に、関連するすべての Child も自動的に削除されるようにできます。

Copy code
class Parent < ApplicationRecord
  has_many :children, dependent: :destroy
end

class Child < ApplicationRecord
  belongs_to :parent
end

dependent: :destroy オプションを指定することで、関連する子レコードを自動的に削除することができます。また、dependent オプションには、delete_all や nullify などの他のオプションもあります。これらは、関連する子レコードを削除するか、または単に親レコードとの関連を削除するかを制御するために使用されます。

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?