コメント機能を追加するときのポイント

f:id:kokorouruou:20210718183118p:plain

私が作成しているアプリケーション「Yamashiru」を受けて気になった点や復習した方が今後の役に立つと思って作成しています。

さらにエンジニア初心者の方に向けて タメになる情報をお届けします。

今回は、、、

コメント機能を追加するときのポイント

今回のケースは投稿に対してコメント機能を加える際の注意点についてまとめました。

dependent: :destroy について

dependent: :destroyを追加することで、 親モデルを削除する際に、その親モデルに紐づく「子モデル」も一緒に削除できるようになります。 今回の私のケースですと親モデル=投稿機能、子モデル=コメント機能になります。よって投稿が削除されると コメントも削除されるということになります。

tweetモデル

class Tweet < ApplicationRecord
  <中略>

  has_many :comments, dependent: :destroy

commentモデル

class Comment < ApplicationRecord
  <中略>

  belongs_to :tweet

その際にルーティングもネストされているか確認します。

routes.rb

resources :tweets do
    resources :comments, only: :create
end

いかがでしたでしょうか? 1個ずつ落ち着いて実施出来れば簡単な操作になりますので是非ご活用下さい!