アプリケーションのデータ保存(newアクション実装)

前回に続いて復習用に書きます。

今回は「投稿」を実装するための手順
まずはnewアクションの実装

【大まかな流れ】
投稿ページにアクセス → 投稿ページへ遷移する処理(newアクション) → 投稿 → テーブルへ投稿内容登録(createアクション)

【newアクションの設定】
①ルーティングの設定

Rails.application.routes.draw do
  root to: 'tweets#index'
  resources :tweets, only: [:index, :new] #:newを加えることで、/tweets/newにアクセスした際にtweetsコントローラーのnewアクションが実行される
end

②コントローラーの設定

class TweetsController < ApplicationController

  def index
    @tweets = Tweet.all
  end

  def new
    @tweet = Tweet.new #@tweetのインスタンスを生成
  end

end

form_withを使用して投稿フォームを作成するときにモデルオプションを使用する

form_with model: @tweet, local: true, class: "form" do |form|

※model: @tweetの記述でurlの指定や、methodでHTTPメソッドの指定が不要になる
※form_withをhamlで使用する際にclass名の付与で少し悩んだので記述方法を残しておく

③viewの作成