PostsController#update中的NoMethodError

时间:2014-03-06 15:18:13

标签: ruby-on-rails-4 nomethoderror

我在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)行。

0 个答案:

没有答案