1

永続化レイヤーに MongoDB を使用して、Rails でブログをセットアップしようとしています。その一環として、私は自分の投稿にコメントを埋め込みたいのですが、そうするたびに 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

あなたのように params ハッシュを渡すことはできません。permit代わりに、メソッドの戻り値を使用する必要があります。このような:

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