Я следую этому учебнику , который прекрасно работает для has_many: через отношения. У меня есть нормальные вещи, например, работает category_product.
Однако я не могу осмыслить эту ситуацию (и заставить ее работать): у меня есть категория, которая имеет связанные категории. Поскольку каждая категория может иметь N категорий ... во-первых, действительно ли это ситуация "многие ко многим" (я вполне уверен, что это так)? Во-вторых, как это будет выглядеть? Моя миграция выглядит так:
create_table :categories do |t|
t.string :name
t.timestamps
end
create_table :related_categories, :id => false do |t|
t.integer :category_a_id
t.integer :category_b_id
end
а у моей модели мужество
has_many :related_categories, :foreign_key=>"category_a_id"
has_many :categories, :through => :related_categories, :source=>:category_a
Это, очевидно, не правильно, хотя оно и есть (то есть, оно сломано на 100%). Как я могу это сделать?
Редактировать: Я забыл это, но только здесь, на SO (имеется в виду, что это не ответ):
class RelatedCategory < ActiveRecord::Base
belongs_to :category_a, :class_name=>"Category"
belongs_to :category_b, :class_name=>"Category"
end