Rails 4 collection_check_boxes,带有has_many through

Jac*_*uul 5 ruby-on-rails checkboxlist has-many-through categorization

我正在尝试将类别与产品相关联.到目前为止我实现它的方式是

Class Product
    has_many :categorizations
    has_many :categories, through: :categorizations
Run Code Online (Sandbox Code Playgroud)

.

Class Categorization
    belongs_to :product
    belongs_to :category
Run Code Online (Sandbox Code Playgroud)

.

Class Category
    has_many :categorizations
    has_many :products, through: :categorizations
Run Code Online (Sandbox Code Playgroud)

在我的产品/ _form.html.erb中

<div class="field">
<%= f.label :category_id %><br />
<%= collection_check_boxes(:product, :category_id, Category.all, :id, :name) %>
</div>
Run Code Online (Sandbox Code Playgroud)

我不确定如何正确地做到这一点.

解决方案
变化::category_id:category_ids,并设置强PARAMS

def product_params
  params.require(:product).permit(:title, :description, :price, :category_ids => [])
end
Run Code Online (Sandbox Code Playgroud)

小智 6

由于这种关系是多对多的,因此给定的产品应该响应category_ids(复数),而不是category_id(单数).