Rails - Relations parents / enfants
Je suis actuellement à l'aide d'un one-to-one relation pour gérer les relations parent/enfant:
class Category < ActiveRecord::Base
has_one :category
belongs_to :category
end
Est-il recommandé de le faire ou est-ce ok?
source d'informationauteur bcoughlan
Vous devez vous connecter pour publier un commentaire.
Vous aurez besoin d'ajuster les noms que vous utilisez pour obtenir ce travail - vous de spécifier le nom de la relation, et puis dites-AR ce que la classe est:
has_many version:
J'ai trouvé que j'ai eu à faire un changement mineur à la @equivalent8 la solution pour le faire fonctionner pour Rails 5 (5.1.4):
Sans
foreign_key
déclaration, Rails essaie de trouver le enfants par organization_id au lieu de parent_id et des étranglements.Rails également étouffe sans
:optional => true
déclaration sur l'belongs_to association depuis belongs_to requiert une instance d'être affecté par défaut dans les Rails 5. Dans ce cas, vous devez attribuer un nombre infini de parents.Étant donné que la relation est symétrique, en fait, je trouve que différent de ce que Toby a écrit, que je préfère le suivant:
Pour une raison quelconque, a l'un des parents, beaucoup d'enfants" est la façon dont mon esprit les choses, de ne pas "a beaucoup de parents, un seul enfant"