Okazało się, że musiałem dokonać drobnych zmian do użytkownika @ equivalent8 rozwiązania, aby pracować dla Rails 5 (5.1.4):
class Category < ActiveRecord::Base
has_many :children, :class_name => "Category", foreign_key: 'parent_id'
belongs_to :parent, :class_name => "Category", foreign_key: 'parent_id', :optional => true
end
Bez deklaracji foreign_key
, Railsy próbują znaleźć dzieci według id_organizacji zamiast parent_id i dławików.
Szyny są również dławiki bez deklaracji :optional => true
w stowarzyszeniu belongs_to, ponieważ belongs_to wymaga, aby instancja została domyślnie przypisana w Rails 5. W tym przypadku konieczne byłoby przypisanie nieskończonej liczby rodziców.
Jak znaleźć kategorie dzieci dla konkretnych rodziców. – demonchand
Możesz po prostu użyć parent.child? –
W rzeczywistości uważam, że mój umysł groksuje "has_one: parent; belongs_to:: children" bardziej rozsądny układ dla tego samego. – slacy