I'm trying to associate categories to products. The way I've implemented it so far is
Class Product
has_many :categorizations
has_many :categories, through: :categorizations
.
Class Categorization
belongs_to :product
belongs_to :category
.
Class Category
has_many :categorizations
has_many :products, through: :categorizations
and in my products/_form.html.erb
<div class="field">
<%= f.label :category_id %><br />
<%= collection_check_boxes(:product, :category_id, Category.all, :id, :name) %>
</div>
I'm not sure how to do this properly.
Solution
Change : :category_id
to :category_ids
and set the strong params
def product_params
params.require(:product).permit(:title, :description, :price, :category_ids => [])
end
Being that the relationship is many-to-many a given product should respond to category_ids
(plural), not category_id
(singular).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With