这是我陷入我的代码的地方:
class PostsController < ApplicationController
before_action :find_post, only: [:show, :edit, :update, :destroy]
def index
end
def show
end
def new
@post = Post.new
end
def create
@post = Post.new(post_params)
if @post.save
redirect_to @post
else
render 'new'
end
end
def edit
end
def update
if @post.update
redirect_to @post
else
render 'edit'
end
end
def destroy
@post.destroy
redirect_to root_path
end
private
def post_find
@post = Post.find(params[:id])
end
def post_params
params.require(:post).permit(:title, :content)
end
end
我定义了post_find,但是当我运行代码时我仍然收到错误抱歉我发布的帖子中的错误。我希望能够在论坛上发帖并进行编辑或删除帖子。
答案 0 :(得分:5)
应该是
def find_post
@post = Post.find(params[:id])
end
您将回调定义为:find_post
,但您的方法定义为post_find
答案 1 :(得分:0)
应该是:post_find
喜欢
before_action :post_find, only: [:show, :edit, :update, :destroy]
因为您的方法是post_find
def post_find
@post = Post.find(params[:id])
end
我认为帮助你