1

我只是想用Rails 建立一个博客,使用MongoDB 作为我的持久层。作为其中的一部分,我想在我的帖子中嵌入评论,但每次我这样做时,它都会调用 ActiveModel::ForbiddenAttributesError 失败,我知道这与 Rails 中的 strong_parameters gem 有关。这就是我的控制器的样子

class CommentsController < ApplicationController

  def create
    @post = Post.find(params[:post_id])
    @comment = @post.comments.create!(params[:comment])
    redirect_to @post
  end

  private
    def comment_params
    params.require(:comment).permit(:by, :published_on, :body)
  end
end

谁能看到我哪里出错了?

4

1 回答 1

1

你不能像你一样只传递参数哈希。您必须改用该permit方法的返回值。像这样:

@comment = @post.comments.create!(comment_params)
于 2013-07-11T09:43:20.357 回答