こんな感じで少し短くなる
class PostsController < ApplicationController
before_action :set_post, only: [ :show, :edit, :update, :destroy]
def index
@posts = Post.order(created_at: :desc)
end
def new
@post = Post.new
end
def create
@post = Post.new(post_params)
if @post.save
redirect_to @post, notice: '投稿を保存しました'
else
render :new
end
end
def show
end
def edit
end
def update
if @post.update(post_params)
redirect_to @post, notice: "投稿を更新しました。"
else
render :edit
end
end
def destroy
@post.destroy
redirect_to posts_path, notice: "投稿を削除しました。"
end
private
def post_params
params.require(:post).permit(:caption, :image)
end
def set_post
@post = Post.find(params[:id])
end
end
最初にここで処理
before_action :set_post, only: [ :show, :edit, :update, :destroy]
次にここに行く
def set_post
@post = Post.find(params[:id])
end
以上