der Dokumentation über Befestigungen (http://api.rubyonrails.org/classes/Fixtures.html) sie bieten das folgende Beispiel von Etiketten Referenzen für Verbände mit:Wie kann ich in einem Rails-Komponententest ein User-Fixture zum Laden des zugehörigen Profils abrufen?
### in pirates.yml
reginald:
name: Reginald the Pirate
monkey: george
### in monkeys.yml
george:
name: George the Monkey
pirate: reginald
So erhöhten die Führung folgen, habe ich ein User-Modell, das has_one: Profil, ein Profil-Modell, das belongs_to: Benutzer und versuchten Vorrichtungen pro ihrem Beispiel einzurichten:
### in users.yml
reginald:
id: 1
login: reginald
### in profiles.yml
reginalds_profile:
id: 1
name: Reginald the Pirate
user: reginald
(Hinweis: Verein - es in Ursachen setzen: da meine Verbindung Einbahn ist, wird die User-Leuchte nicht einen „reginalds_profile Profil“ hat ein Fehler, weil die SQL-Tabelle kein profile_id-Attribut hat.)
Das Problem ist, in meinen Unit-Tests scheint alles korrekt zu laden, aber Benutzer (: reginald) .profile ist immer Null. Was vermisse ich?
Ich denke, ich hätte es durch Versuch und Irrtum herausgefunden ... aber ich würde immer noch gerne sehen, ob jemand überprüfen kann, was ich falsch gemacht habe. Kein Fan von Trial-and-Error-Lösungen. – MikeJ
Was haben Sie getan, um es zu reparieren? – cbrulak
Ich bemerkte in meinem Beispiel, dass der Hauptunterschied darin besteht, dass ich die IDs der Fixtures selbst setze, anstatt dass sie von Rails gesetzt werden (alte Gewohnheit, seit 1.x mit Rails). Als ich die IDs herausholte, funktionierte es, aber warum? – MikeJ