#結論
dependent: :destroyを追加することで、
「親モデルを削除する際に、その親モデルに紐づく「子モデル」も一緒に削除できる」ようになります。
例えばユーザーが退会した場合、そのユーザーが投稿した記事も全て消えるように設定するのであれば、必須な知識です。
#dependent: :destroyを追加する
現段階では、このような関係性になっていると思います。
(変更前)user.rb
class User < ApplicationRecord
has_many :posts
(変更前)post.rb
class Post < ApplicationRecord
belongs_to :user
このように、user.rbに追加します。
これで、ユーザーが退会した場合はそのユーザーが投稿した記事も全て消えるようになりました。
(変更後)user.rb
class User < ApplicationRecord
has_many :posts, dependent: :destroy
#子モデルに、さらに子があれば
例えば、このような状況です。
こちらの場合であっても、下記のようにすれば親子モデルの関係性と同じような動作をします。
(変更後)post.rb
class Post < ApplicationRecord
has_many :pictures, dependent: :destroy
※ 関連付け(アソシエーション)の詳細は、こちらを参照してください。
#バージョン
rails 5.1.7
#参考リンク