On Oct 5, 2010, at 11:12 AM, Mariano Ayesa wrote:

2010/10/5 Ernesto Tagwerker <[email protected]>:
Cuando se crea una clase_a_valida, yo necesito que los objetos de
ClaseB tengan nombres distintos, pero que todos tengan una relacion
belongs_to al mismo objeto de ClaseC.

Creo que podés hacer eso así:

Factory.define :clase_b do |u|
 u.sequence(:name) {|n| "first_#{n}"}

etc...

Quizas no me expresé bien.. no tengo problemas para crear los objetos
de ClaseB con nombres distintos.. donde SI hay problema, es que
factory_girl quiere hacer un create del objeto de ClaseC relacionado
con esos objetos ClaseB y entonces, salta la validacion de uniqueness
en ClaseC.

Me explico?

Sí, no había entendido bien.

Y si hacés algo así?

objeto_c = Factory.create(:clase_c_valida)
objeto_b = Factory.create(:clase_b, :clase_c => objeto_c)

Porque con el código que mandaste:

Factory.define :clase_b_valida, :class => ClaseB do |f|
 f.association :clase_c, :factory => :clase_c_valida
end

Cuando hagas:

Factory.create(:clase_b_valida)

Va a crearte una instancia nueva de clase_c cada vez que lo llames. Y por eso te va a pinchar.

Espero que te sirva.

Saludos,

Ernesto Tagwerker
http://etagwerker.com

_______________________________________________
Ruby mailing list
[email protected]
http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar

_______________________________________________
Ruby mailing list
[email protected]
http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar

Responder a