Aquí están mis modelos:Factory Girl y has_one
Class Audition
belongs_to :video
end
Class Video
has_one :audition
end
y mis fábricas:
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
¿Cómo podría crear una fábrica de vídeo que tiene una audición,
Es decir, ser capaces a:
v = Factory.create(:video)
v.audition # I'd like this to be not nil !
Porque tengo Tengo un observador en mi video que intenta acceder a la audición desde el objeto de video
Intenté varias cosas, pero siempre termino con un nivel de pila demasiado profundo o audición nula.
¿Tienes una idea?
Gracias, Mike
P.s. Creo que obtienes un nivel de pila demasiado profundo si de alguna manera les cuentas a los dos modelos que tienen una asociación con el otro. – tsdbrown
hmm ese es exactamente el problema, pero esperaba con algo de magia condicional que podría incluirlo en ambos :-) Tu respuesta tiene sentido, Gracias, – Mike
Después de estar atascado tratando de poner una asociación de chicas de fábrica en ambos lados de la asociación finalmente me di por vencida. Y simplemente ponga la asociación dentro del modelo "esclavo". En mis especificaciones cuando necesito crear un modelo "maestro", sigo usando la fábrica "esclava". Por ejemplo: Factory.create (: slave) .master. – Sam