我在rails 4中创建和更新帖子时遇到问题。我收到错误
PostsController#update中的NoMethodError #
的未定义方法`title'这是我的帖子控制器。
class PostsController < ApplicationController
before_action :set_post, only: [:show, :edit, :update, :destroy]
def tags
@posts = Post.tagged_with(params[:tag], :any => true).order('created_at DESC')
end
# GET /posts/1
# GET /posts/1.json
def show
@latest_posts = Post.order("created_at desc").limit(3)
end
# GET /posts/new
def new
@post = Post.new
@latest_posts = Post.order("created_at desc").limit(3)
end
# GET /posts/1/edit
def edit
@latest_posts = Post.order("created_at desc").limit(3)
end
# POST /posts
# POST /posts.json
def create
@post = Post.new(post_params)
respond_to do |format|
if @post.save
format.html { redirect_to @post, notice: 'Post was successfully created.' }
format.json { render action: 'show', status: :created, location: @post }
else
format.html { render action: 'new' }
format.json { render json: @post.errors, status: :unprocessable_entity }
end
end
end
# PATCH/PUT /posts/1
# PATCH/PUT /posts/1.json
def update
respond_to do |format|
if @post.update(post_params)
format.html { redirect_to @post, notice: 'Post was successfully updated.' }
format.json { head :no_content }
else
format.html { render action: 'edit' }
format.json { render json: @post.errors, status: :unprocessable_entity }
end
end
end
# DELETE /posts/1
# DELETE /posts/1.json
def destroy
@post.destroy
respond_to do |format|
format.html { redirect_to posts_url }
format.json { head :no_content }
end
end
private
# Use callbacks to share common setup or constraints between actions.
def set_post
@post = Post.friendly.find(params[:id])
end
# Never trust parameters from the scary internet, only allow the white list through.
def post_params
params.require(:post).permit(:name, :content, :slug, :tag_list, :topic_list, :image, :category)
end
end
我已经全神贯注地看到这些错误似乎都来自简单的错字或让你的参数私有化,但我只是在这里看不到它。错误是它来自更新操作中的if @ post.update(post_params)行。