Standardmäßig ruft FactoryGirl die Fabriken von Assoziationen auf, um sie zu erstellen. Ich kann eine Assoziation für eine Fabrik als Parameter übergeben. Aber wie kann ich ein Objekt passieren, das tief in der Assoziationskette verwendet werden soll?So übergeben Sie Parameter über die Assoziationskette in FactoryGirl
Zum Beispiel:
Ich habe einen Post, die eine PostsManager hat, der ein Konto hat, der den current_user gehört.
Wenn ich eine Factory(:post)
mache, erstellt es einen PostsManager, der ein Konto erstellt, das nicht zum (stubed) current_user gehört.
in specs So, dass die Post Fabrik verwenden ich tun muss:
account = Factory(:account, user: current_user)
post_manager = Factory(:post_manager, account: account)
post = Factory(:post, post_manager: post_manager)
Was ich möchte, ist die Fabrik mit Factory(:post, user: current_user)
tun, rufen und dann current_user
passieren den ganzen Weg durch die Verbände der Rechnungsfabrik Gibt es eine Möglichkeit, dies zu tun?
Möchten Sie Code Beispiel hinzufügen. –
Lesen Sie bitte http://sscce.org. Ohne weitere Informationen können wir Ihnen keine genauen Antworten geben. –
Er fragt, ob Attribute über Verknüpfungen weitergegeben werden können, wenn sie nicht in den ursprünglichen Modellen vorhanden sind. Dies kann mit transienten Attributen geschehen. Ich habe eine Antwort, wenn Sie die Frage erneut öffnen. –