0

悪名高いエラーが発生します:

Can't mass-assign protected attributes: comments

私が知る限り、私は自分のモデルですべてを正しく実行しました。

class Book < ActiveRecord::Base
  attr_accessible :author, :edition, :issue, :title, :url, :comments_attributes
  has_many :comments, :dependent => :destroy
  accepts_nested_attributes_for :comments, :allow_destroy => true
end

そして表示:

<%= form_for @book, :remote => true do |f| %>
  <%= f.label :title %>:
  <%= f.text_field :title %><br />

  <%= f.label :author %>:
  <%= f.text_field :author %><br />

  <%= f.fields_for @comment do |comment| %>
  <%= comment.label :body, :Comment %>:
  <%= comment.text_area :body %><br />
  <% end %>

  <%= f.submit %>
<% end %>

ここで何が欠けていますか?私はstackoverflowに関する12以上の同様の質問を読み通しましたが、そこにある唯一のアドバイスは、attr_accessibleとaccepts_nested_attributes_forを追加することであるようです。確かに何か他にありますか?

4

1 に答える 1

3

fields_for @comment do |comment| があります。そのはず:

fields_for :comments do |comment|

次に、次の行では、ラベルに「コメント」という文字列を使用するだけです。

于 2012-11-13T17:12:27.007 に答える