root

routes.rb

root to: 〇〇  #これでhttp://localhost:3000/で開くページを指定できる。

バリデーション 未入力でエラーを出すように設定。

post.rb

class Post < ApplicationRecord
  validates :〇〇, presence: true #必要なデータが入っているかどうか
end

「投稿の詳細、編集、削除」などの処理では、対象の投稿情報はどのようにデータベースから情報を取得しているのか

    def set_post
      @post = Post.find(params[:id])
    end

上記でPost.findを実行してデータベースからpostのレコード情報を取得

before_action :set_post, only: [:show, :edit, :update, :destroy]

上記でbefore_actionコールバックの設定により、指定したアクションの処理の前に実行される。

binding.irbなどでデバックするとPost.findによって対応するSQLが実行されていることが分かる。

データベース関連の挙動

空の変数postを作成して、後から値を設定するやり方

post = Post.new
post = "〇〇"
post.save
post.last