У меня есть категории, которые находятся в древовидной структуре. Я пытаюсь связать их вместе, определяя родителя для каждого из них. (Я не мог понять, как вызвать свойство parent, так что теперь он просто category, но это означает родительский элемент).
class Category < ActiveRecord::Base
has_one :category # the parent category
end
Но отношения заканчиваются неправильным образом.
Функция getter находится в дочерней категории (правильно), но category_id хранится в родительском объекте:
parent = Category.create(:name => "parent")
child = Category.create(:name => "child", :category => parent)
parent.id # 1
child.id # 2
child.category_id # nil
parent.category_id # 2
child.category.name # "parent" (!!)
Родитель должен иметь несколько дочерних элементов, поэтому это не будет работать.