【发布时间】:2012-08-01 08:17:42
【问题描述】:
我使用了nested_form gem,每当我尝试向我的表单提交内容时,我都会收到Can't mass-assign protected attributes:items 消息,即使我已经在我的模型中输入了attr_accessible。
表格:
<%= nested_form_for(@goods_in) do |f| %>
...
<%= f.fields_for :items do |i| %>
<td><%= i.text_field :description, :autocomplete => :off%></td>
<td><%= i.text_field :quantity, :autocomplete => :off %></td>
<th><%= i.link_to_remove "Remove this item" %></th>
<% end %>
<%= f.submit :"Submit Delivery" %>
<% end %>
Goods In Model:class GoodsIn
attr_accessible :c4lpono,
:courier,
:deliverydate,
:deliverynoteno,
:destination,
:notes,
:quantity,
:signedby,
:supplier_id,
:partcode_ids
accepts_nested_attributes_for :supplier
validates :c4lpono,
:deliverydate,
:deliverynoteno,
:destination,
:quantity,
:signedby,
:presence =>true
end
物品模型
class Item < ActiveRecord::Base
belongs_to :goods_in
attr_accessible :quantity,
:partcode,
:description,
:goods_in_id
accepts_nested_attributes_for :goods_in
end
控制器中的货物:
def create
@goods_in = GoodsIn.new(params[:goods_in])
end
【问题讨论】:
-
您能否在调用 new、create 或 update_attributes 时显示相关的控制器代码?
-
添加到我的问题中!
标签: ruby-on-rails nested-forms mass-assignment