Ruby on Rails(PicTweet)
ツイートにコメントを投稿しよう編
まずターミナルでコメントのモデルを作成する
生成されたマイグレーションで下記を追加する
t.integer :user_id
t.integer :tweet_id
t.text :text
そしてマイグレーションを実行する
アソシエーションを定義する
belongs_to :モデル単数系で、アソシエーションを定義する。今回はTweetとuserとする
複数のコメントを所有できるhas_many:モデル複数形でコメントを組み込む
app:models/user.rbにも追記する
createアクションのルーティングを設定する
routes.rbを下記のように書き換える
commentsコントローラーを作成する
comments_controller.rbを編集する
createアクションを定義し、ストロングパラメーターも利用する
そしてコメントを保存したのち、コメント完了画面を表示させるのではなく、コメントしたツイートの詳細画面へリダイレクトさせる
コメント投稿フォームを投稿詳細に追加しよう
app/views/tweets/show.html.erbの23行目以降を追加する
コメント表示欄を投稿詳細に追加する
tweets_controller.rbのshowアクションを編集する
下記を追記する
@comment = Comment.new
@comments = @tweet.comments.includes(:user)
下記を追記することでもし@commentsが空だった場合でもエラーが起こらないようにする