Voici mes modèles:Factory Girl et has_one
Class Audition
belongs_to :video
end
Class Video
has_one :audition
end
et mes usines:
Factory.define :video do |v|
v.filename {Sham.filename}
v.video_url {Sham.url}
end
Factory.define :audition do |a|
a.video {|a| a.association(:video)}
a.label {Sham.label}
end
Comment pourrais-je créer une usine de vidéo qui ont une audition,
Je veux dire, pouvoir à:
v = Factory.create(:video)
v.audition # I'd like this to be not nil !
Parce que je ha J'ai un observateur sur ma vidéo qui essaye d'accéder à l'audition de l'objet vidéo
J'ai essayé plusieurs choses mais je finis toujours avec un niveau de pile trop profond ou auditionne à zéro.
Avez-vous une idée?
Merci, Mike
P.s. Je pense que vous avez un niveau de pile trop profond si vous connaissez les deux modèles qui ont une association avec l'autre. – tsdbrown
hmm c'est exactement le problème mais j'espérais avec un peu de magie conditionnelle je pourrais l'inclure dans les deux :-) Votre réponse est tout à fait logique, Merci, – Mike
Après avoir été bloqué avec essayer de mettre une association d'usine fille des deux côtés de l'association que j'ai finalement abandonnée. Et mettez simplement l'association dans le modèle "esclave". Dans mes spécifications quand j'ai besoin de créer un modèle "maître", j'utilise toujours l'usine "esclave". Par exemple: Factory.create (: slave) .master. – Sam