2012-10-01 65 views
0

我得到了臭名昭著的錯誤:據我所知道的,我所做的一切,就在我的模型的Rails 3:無法大規模分配嵌套屬性

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的十幾個類似的問題,但唯一的建議似乎是添加attr_accessible和acceptered_attributes_for,這兩個我已經有了。當然還有別的嗎?

+0

在一次絕望的嘗試中,我試着把'has_many'聲明置於頂層,在attr_accessible聲明之前... –

+0

有趣的想法,但不幸的是,仍然沒有運氣。 – nullnullnull

+0

在Comment類中,你是否聲明'attr_accessible:body'可能? –

回答

3

您有fields_for @comment do | comment | 它應該是:

fields_for :comments do |comment| 

然後在下一行我可能會只使用標籤的字符串「註釋」。

相關問題