Rails отношения не работают - PullRequest
0 голосов
/ 05 ноября 2010

Я использую Rails 3.0.1 / Ruby 1.9.2

У меня есть две таблицы: Product и Category.

Это модели:

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, и я хочу его использовать.

Как я могу это исправить?

Ответы [ 2 ]

1 голос
/ 05 ноября 2010

Попробуйте это:

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 голос
/ 05 ноября 2010
class Product < ActiveRecord::Base
  belongs_to :parent_category, :class_name => "Category", :foreign_key => "parent_category_id"
end
...