Mit factory Ich weiß, ich singuläre Attribute wie diese machen kann:factory-Add has_many Datensatz in eine Fabrik
FactoryGirl.define do
factory :company do
trading_name { FFaker::Company.name }
legal_type { legal_types.keys.sample }
updated_by { FactoryGirl.create(:user) }
...
Jetzt versuche ich, einen Benutzer hinzufügen, aber nicht sicher, wie es zu tun.
Ich habe versucht:
users { FactoryGirl.create(:user) }
aber bekam eine Fehlermeldung auf einem each
Schleife weil users
nicht die Sammlung von Benutzern war, wurde es geändert, dass einzelne Benutzer zu sein.
Wie erstellen Sie also has_many
Objekte in einer Fabrik? Wie stellen Sie sicher, dass sie miteinander verbunden sind? Einige Leute tun eine after(:create)
, aber ich möchte die Benutzer vor dem Speichern der Company
Rekord machen.
Mein Problem ist, dass die 'Unternehmen 'model hat einen' after_save' Callback, der den 'user' benötigt um zu existieren. Die Callbacks des Modells werden vor den Callbacks der Factory ausgelöst. – Mirror318
Ich habe eine Beschreibung für diesen Fall zur Antwort hinzugefügt, bitte überprüfen Sie es. –
müssten Sie 'build (: user, company: company)' angeben, oder ist das automatisch, da Sie es zu 'company.users' hinzufügen? – Mirror318