Dans les associations entre différents modèles, il est possible d'éviter de définir directement les ID de clé étrangère en utilisant les noms de montage comme dans this answer. Qu'en est-il des associations auto-référencées, comme lors de l'utilisation de acts_as_tree? Essayer ceci:Référencement des appareils du même type dans Rails
# categories.yml
forsale:
name: For Sale
parent_id: nil
books:
name: Books
parent: forsale
Je reçois cette erreur:
SQLite3::SQLException: table categories has no column named parent: INSERT INTO "categories" ("name", "parent") VALUES ('Books', 'forsale')
Est-il possible de faire un fixtures refence une autre dans la même classe sans utiliser ID explicites?
Mise à jour:
ajoutant le nom de classe entre parenthèses comme pour polymorphic belongs_to appareils ne fonctionne pas non plus. Faire ceci:
books:
name: Books
parent: forsale (Category)
Produit un parent_id
aléatoire pour books
au lieu d'ID de forsale
.
Je suis tombé sur ceci aussi, parfois vos associations ne sont pas parfaites. – Garrett
Ce Q est ancien, je pense que c'est [<% = ActiveRecord :: FixtureSet.identify (: forsale)%>] (http://edgeapi.rubyonrails.org/classes/ActiveRecord/FixtureSet.html#class-ActiveRecord: : FixtureSet-label-Fixture + étiquette + interpolation) maintenant. – mlt