Создание модели с древовидной структурой

У меня есть категории, которые находятся в древовидной структуре. Я пытаюсь связать их вместе, определяя для каждого родителя. (Я не мог понять, как вызвать свойство parent , поэтому сейчас это просто категория , но это означает родительский).

class Category < ActiveRecord::Base

    has_one :category # the parent category

end 

Но отношения заканчиваются неверным путем. около.

Функция получения находится в дочерней категории (правильно), но 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" (!!)

Родитель должен иметь несколько дочерних элементов, поэтому этого не происходит на работу.

18
задан Peter Hall 11 July 2017 в 17:37
поделиться