Rails关系不起作用

时间:2010-11-05 14:42:33

标签: ruby-on-rails entity-relationship

我正在使用Rails 3.0.1 / Ruby 1.9.2

我有两个表: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获取特定类别的所有产品。

但这不起作用。

当我执行category.products

时,Rails会引发异常
column products.category_id does not exist

它会尝试查找category_id列,但我的表格中有parent_category_id列,我想使用它。

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分: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