嗨,我正在使用嵌套表单插件并尝试使其适用于 rails 4 而不是 rails 3。基本上我的模型如下所示:
has_many :item, :dependent => :destroy
accepts_nested_attributes_for :item, :reject_if => lambda { |a| a[:item].blank? }, :allow_destroy => true
我的观点是这样的:
<%= nested_form_for(@store) do |f| %>
<%= f.fields_for :item do |item_form| %>
<%= item_form.text_field :name %>
<%= item_form.link_to_remove "Remove this item" %>
<% end %>
<% end %>
这有效(就演示而言 - 您可以像应该能够那样添加和删除字段)但不保存项目名称。
我在我的控制器中尝试了这个(这些是受保护的属性/参数):
def store_params
params.require(:store).permit(:name, :owner, :description,:url, :user, item_attributes)
end
但它仍然提出:
Unpermitted parameters: item_attributes
感谢大家的帮助!