2010-11-05 62 views
0

我用Rails 3.0.1/1.9.2紅寶石Rails的關係不工作

我有兩個表:ProductCategory

這些機型:

class Product < ActiveRecord::Base 
    belongs_to :parent_category, :class_name => "Category" 
end 

class Category < ActiveRecord::Base 
    has_many :products 
end 

所以,我想通過調用product.parent_category訪問產品的類別,並通過調用category.products得到某一類的所有產品。

但這不起作用。

的Rails拋出一個異常,當我做category.products

column products.category_id does not exist 

它試圖找到category_id列,但我在我的表有parent_category_id列,我想使用它。

我該如何解決這個問題?

+1

應該不是分類模型 「have_many:產品」? – 2010-11-05 15:52:06

+0

@Nate,你是對的。這是一個錯字。固定。 – Alex 2010-11-05 16:36:37

+0

我的評論中有一個錯字。哈! 「has_many:products」 – 2010-11-05 17:27:10

回答

1

試試這個:

class Product < ActiveRecord::Base 
    belongs_to :parent_category, :class_name => "Category" 
end 

class Category < ActiveRecord::Base 
    has_many :products, :foreign_key => :parent_category_id 
end 
1
class Product < ActiveRecord::Base 
    belongs_to :parent_category, :class_name => "Category", :foreign_key => "parent_category_id" 
end 
+0

謝謝,但這不能解決它。同樣的錯誤... – Alex 2010-11-05 15:08:51