アプリケーションのデータ保存(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の作成