嵌套表单,"无法批量分配受保护的属性"

Car*_*ssi 3 forms ruby-on-rails nested-forms mass-assignment

这是我嵌套表单的相关部分:

<div class="field">
<%= f.fields_for "@partcode" do |p|%> 

  <%= p.label "partcode"%><br />
  <%= p.text_field :partcode %>

<% end %>
</div>
Run Code Online (Sandbox Code Playgroud)

我已经在我的模型中有这个:

attr_accessible :partcode,
                :description
Run Code Online (Sandbox Code Playgroud)

但当我在表单中输入内容时,我收到此错误:

Can't mass-assign protected attributes: @partcode
Run Code Online (Sandbox Code Playgroud)

这是我的零件代码模型:

class Partcode < ActiveRecord::Base
 attr_accessible :partcode,
              :description

  validates       :partcode,
              :description,
              :presence => true

 belongs_to "goods_ins"

 accepts_nested_attributes_for "goods_ins"


end
Run Code Online (Sandbox Code Playgroud)

这是我的商品在模型中的所有代码:

class GoodsIn < ActiveRecord::Base
  attr_accessible :c4lpono, 
              :courier, 
              :deliverydate,  
              :deliverynoteno,  
              :description,  
              :destination,  
              :notes,  
              :partcode,  
              :quantity,  
              :signedby,  
              :suppliername

  validates       :deliverydate,  
              :deliverynoteno,  

              :destination,

              :quantity,  
              :signedby,  
              :suppliername,
              :presence => true

 has_many :suppliers

 has_many :partcodes

 accepts_nested_attributes_for :partcodes
end
Run Code Online (Sandbox Code Playgroud)

这也是new我的零件代码控制器的一部分:

def new
@partcode = Partcode.new

respond_to do |format|
  format.html # new.html.erb
  format.json { render :json => @partcode }
end
end 
Run Code Online (Sandbox Code Playgroud)

His*_*alv 7

你不应该:partcode_attributes到attr_accessible(在GoodsIn Model中),如下所示:

attr_accessible :partcode_attributes
Run Code Online (Sandbox Code Playgroud)

假设您的模型关联是这样配置的.希望能帮助到你