Подтвердить что ты не робот

ActiveModel:: ForbiddenAttributesError - Rails 4

Я немного потерян. Я получаю ошибку Rails 4: ActiveModel:: ForbiddenAttributesError. Я понимаю, что это означает, что я должен разрешить передавать предметы, что я сделал, но я должен что-то пропускать.

Контроллер комментариев:

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

    private
        # Never trust parameters from the scary internet, only allow the white list through.
        def comment_params
            params.require(:comment).permit(:post_id, :comment, :body)
        end

end

Создание комментариев Миграция

class CreateComments < ActiveRecord::Migration
  def change
    create_table :comments do |t|
      t.references :post
      t.text :body

      t.timestamps
    end
  end

  def self.down
    drop_table :comments
  end  
end

Что мне здесь не хватает? Дайте мне знать, если вам нужно увидеть какой-либо другой код.

Спасибо!

4b9b3361

Ответ 1

Вместо

@comment = @post.comments.create!(params[:comment])

вы хотите

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

Вы сделали всю тяжелую работу без использования разрешенных атрибутов!