0
我有3個模型;報價,項目和產品。嵌套窗體「無法批量分配受保護的屬性」
我的報價/ new.html.erb設置爲渲染包含項目表單的部分,並在該項目表單中呈現部分以選擇產品。
錯誤:::加載ActiveModel :: MassAssignmentSecurity中的錯誤QuotesController#創建 「不能大規模指派保護屬性:產品」
Quote.rb
(我在下面的編輯不相關的東西)class Quote < ActiveRecord::Base
attr_accessible :items_attributes
has_many :items, :dependent => :destroy
accepts_nested_attributes_for :items
end
item.rb的
class Item < ActiveRecord::Base
attr_accessible :price, :product_attributes
belongs_to :quote
belongs_to :product
accepts_nested_attributes_for :product
end
Product.rb
class Product < ActiveRecord::Base
attr_accessible :name, :item_make
has_many :items
accepts_nested_attributes_for :items
end
new.html.erb
<%= simple_nested_form_for @quote do |m| %>
<%= m.simple_fields_for :items, :html => { :multipart => true } do |quoteform| %>
<%= render "form", f: quoteform %>
<% end %>
<%= m.link_to_add "Add an item", :items %>
<%= m.button :submit %>
<% end %>
_form.html.erb
<%= f.simple_fields_for :products, :html => { :multipart => true } do |x| %>
<% render "layouts/styleselect", g: x %>
<% end %>
_styleselect.html.erb
<% g.hidden_field :item_make, :value => @item.make %>
<%= g.input :name, collection: Product.where(:item_make => 1), label: false, input_html: {:id=>"sst_style"} %>
所以基本上嵌套形式 - 經濟通去>項目 - >產品,但項目屬於產品,這可能導致問題?我嘗試將product_attributes或products_attributes添加到項目模型和報價模型,並且與recep_nested_attributes_for產品相同。
任何幫助,將不勝感激,謝謝。