2010-08-29 73 views
1

我需要有一個許多人對產品和類別進行連接需要

,所以我有

class Category < ActiveRecord::Base 
    has_many :categorizations 
    has_many :products, :through => :categorizations 
end 

class Product < ActiveRecord::Base 
    has_many :categorizations 
    has_many :categories, :through => :categorizations 
end 

一對多的關係分類已的結構是這樣的

* PRODUCT_ID (primary key, foreign key to PRODUCTS) 
* CATEGORY_ID (primary key, foreign key to CATEGORIES) 
* QUANTITY 
在我的控制器

我正在創建此類別和產品

@new_product = Product.create :name => "test" 
@new_category = Category.create :name => "test category" 

如何連接這兩個,我如何設置數量

與一對多如果我的記憶正確地爲我服務,這是如何完成的。但隨着多對多通過我失去了

@ new_product.catagory < < @new_category

回答

3

當你有一個多對多關聯有元數據(即經歷過多次),你應該創建關聯對象明確。

@new_product = Product.create(:name => "test") 
@new_category = Category.create(:name => "test category") 
@association = Categorization.create(:product => @new_product, :category => @new_category, :quantity => 5) 

你沒有顯示此之上,但要記住,你需要創建一個模型爲您的協會與的has_many使用它:通過。

class Categorization < ActiveRecord::Base 
    belongs_to :product 
    belongs_to :category 
end 
相關問題