3

我目前正在开始构建一个开源商店目录应用程序。

我已经FunShopFunSubcategory模型加入了一个FunSubcategorization带有协会的模型has_many :through。在FunShop表单中,我Subcategory以这种方式添加了复选框。

<div class="field">
    <%= hidden_field_tag "fun_shop[fun_subcategory_ids][]", nil %>
    <% FunSubcategory.all.each do |category| %>
      <%= check_box_tag "fun_shop[fun_subcategory_ids][]", category.id, @fun_shop.fun_subcategory_ids.include?(category.id), id: dom_id(category) %>
      <%= label_tag dom_id(category), category.title %>
    <% end %>
</div>

当我提交表单时,会Unpermitted parameters: fun_subcategory_ids出现错误。

我对强参数了解一点,我怀疑这有问题。在我的FunShop控制器中,我有这个:

def fun_shop_params
  params.require(:fun_shop).permit(:fun_subcategory_ids)
end  #Most code ommited for simplicity

我也在我的 FunShop 模型中做到了这一点:

accepts_nested_attributes_for :fun_subcategorizations

我的第一个网络应用程序中有一个相关的存储库。

4

1 回答 1

13

解决了。

我需要添加这个:

params.require(:fun_shop).permit(fun_subcategory_ids: [])

指定它是一个数组。

于 2013-10-11T14:44:34.357 回答