Basé sur http://guides.rubyonrails.org/association_basics.html#self-joinsse parent dans le modèle d'auto-référentiel
J'ai créé une jointure réflexive modèle appelé Catégorie
rails g model Category name parent_id:integer
j'ai modifié le modèle category.rb comme ci-dessous
Class Category < ActiveRecord::Base
has_many :sub_categories, class_name: "Category", foreign_key: "parent_id"
belongs_to :parent_category, class_name: "Category"
end
maintenant dans la console Je crée deux enregistrements de catégorie comme
a = Category.create(name: "Animal")
b = Category.create(name: "Dog")
a.sub_categories << b
a.save
maintenant
a.sub_categories # returns Dog
cependant
b.parent_category # returns nil
Comment puis-je obtenir le retour parent_category l'enregistrement parent seul correctement?
Aussi, si je ne b.parent_category = a
je reçois l'erreur suivante
ActiveModel::MissingAttributeError: can't write unknown attribute 'parent_category_id'