为什么我使用HABTM Association获取未经许可的参数?

Vas*_*lka 3 ruby ruby-on-rails-4

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

我有FunShopFunSubcategory模型加入虽然FunSubcategorization模型与has_many :throughassosiation.在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>
Run Code Online (Sandbox Code Playgroud)

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

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

def fun_shop_params
  params.require(:fun_shop).permit(:fun_subcategory_ids)
end  #Most code ommited for simplicity
Run Code Online (Sandbox Code Playgroud)

我也在我的FunShop模型中完成了这个:

accepts_nested_attributes_for :fun_subcategorizations
Run Code Online (Sandbox Code Playgroud)

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

Vas*_*lka 13

解决了.

我需要添加这个:

params.require(:fun_shop).permit(fun_subcategory_ids: [])
Run Code Online (Sandbox Code Playgroud)

指定它是一个数组.