我有三個模型品牌,類別和國家在多對多的關聯,這意味着每個品牌可能屬於很多類別,每個類別可能有很多品牌,每個國家可能有很多類別和品牌我需要知道一種方法來獲取品牌被投入的類別。ActiveRecord關聯方法獲取關聯對象
到目前爲止,我有這樣的:
@brands = Brand.includes(:categories)
它創建品牌和類別之間的關聯,我堅持。我不知道如何獲取品牌投放的類別。你可以幫我嗎?
我有三個模型品牌,類別和國家在多對多的關聯,這意味着每個品牌可能屬於很多類別,每個類別可能有很多品牌,每個國家可能有很多類別和品牌我需要知道一種方法來獲取品牌被投入的類別。ActiveRecord關聯方法獲取關聯對象
到目前爲止,我有這樣的:
@brands = Brand.includes(:categories)
它創建品牌和類別之間的關聯,我堅持。我不知道如何獲取品牌投放的類別。你可以幫我嗎?
你必須要使用的模型品牌和類別之間has_and_belongs_to_many協會。
Rails指南在描述它的工作原理方面做得很好。 http://guides.rubyonrails.org/association_basics.html#the-has-and-belongs-to-many-association。
創建HABTM關係。從創建新模型開始category
然後創建新遷移並將其命名爲brands_categories
在新遷移中添加類別和品牌的引用。如rails g migration brands_categories brand:references category:references
。然後在您的brand_params中允許{:category_ids => []}, :categories_attributes => [:category]
。要在您的品牌觀表格中添加一些類別這樣
<% Category.all.each do |cat| %>
<div class="checkbox">
<label>
<%= check_box_tag "product[category_ids][]", cat.id, @product.categories.include?(cat) %>
<%= cat.category %>
</label>
</div>
<% end %>