ChrisG
ChrisG

Reputation: 76

Strong_parameters issue with embedded documents in MongoDB using Rails 4 and Mongoid 4.0.0

I'm just trying to set up a blog with Rails using MongoDB for my persistence layer. As part of that I'd like to embed comments in my posts but every time I do, it fails calling ActiveModel::ForbiddenAttributesError, which I know has to do with the strong_parameters gem in Rails. this is what my controller looks like

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

Can anyone see where I'm going wrong?

Upvotes: 1

Views: 690

Answers (1)

mario
mario

Reputation: 1248

You can't just pass the params hash like you do. You must use the return value of the permit method instead. Like this:

@comment = @post.comments.create!(comment_params)

Upvotes: 1

Related Questions