docs La chica de la fábrica ofrecen esta sintaxis para crear (supongo) las asociaciones de padres e hijos ...¿Cómo puedo definir varios objetos asociados usando Factory Girl?
Factory.define :post do |p|
p.author {|a| a.association(:user) }
end
Un post pertenece a un usuario (su "autor").
¿Qué sucede si quiere definir una fábrica para crear User
s, que tienen un montón de Post
s?
¿O qué pasa si se trata de una situación de muchos a muchos (consulte la actualización a continuación, por ejemplo)?
ACTUALIZACIÓN
pensé que había descubierto. He intentado esto ...
Factory.define(:user) do |f|
f.username { Factory.next(:username) }
# ...
f.roles { |user|
[
Factory(:role),
Factory(:role, {:name => 'EDIT_STAFF_DATA'})
]
}
end
parecía funcionar al principio, pero luego me los errores de validación porque F.G. estaba tratando de salvar al usuario dos veces con el mismo nombre de usuario y correo electrónico.
Así que vuelvo a mi pregunta original. Si tiene una relación de muchos a muchos, como por ejemplo Users
y Roles
, ¿cómo puede definir una Fábrica que devolverá Users
con algún Roles
asociado? Tenga en cuenta que Roles
debe ser único, por lo que no puedo tener F.G. creando un nuevo "ADMINISTRADOR" Role
en la base de datos cada vez que crea un User
.