Gregor, stimmt, wenn ich die Zeile

> address_import = FactoryGirl.create(:address_import)

in den initialize_with-Block mit hereinnehme, dann wird er erst aufgerufen, 
wenn bereits alle Factories erzeugt sind.

Danke, sehr cool und funzt. Ich wußte nicht, daß ich das auch in den Block 
reinnehmen kann.

initialize_with sorgt dafür, daß ich AddressConverter mit einer 
AddressImport-Instanz sauber initialisieren kann. AddressConverter ist kein 
AR-Model.

Viele Grüße und vielen Dank

Michael

Am 05.04.2012 um 21:10 schrieb Gregor Schmidt:

> Hallo,
> 
> ich vermute, dass das hier ein Lade-Reihenfolge Problem ist. Die
> Factories werden sicher alphabetisch geladen. Das heißt, dass der
> Converter vor dem Import ausgeführt wird. Demnach kann es tatsächlich
> sein, dass es zu dem Zeitpunkt noch keine Import-Factory gibt.
> 
> Ein
> 
> require_relative 'address_import'
> 
> am Anfang deines Converters könnte das Problem vielleicht auch schon lösen.
> 
> Ansonsten: ist es Absicht, dass du in der ersten Factory eine lokale
> Variable namens address_import definierst, die du dann in dem
> initialize_with benutzt? Irgendwie sieht das so aus, als wäre das
> nicht so gewollt. Andererseits kenne ich mich mit der FactoryGirl 3
> API auch null aus und ich weiß nicht, was initialize_with genau macht.
> 
> Aber ich schätze, dass ein
> 
>  factory :address_converter  do
>    initialize_with {
>      address_import = FactoryGirl.create(:address_import)
>      AddressConverter.new(address_import) }
>  end
> 
> Auch ohne die Ladeprobleme funktionieren würde, weil der Block später
> ausgeführt wird und dann die Import-Factory schon geladen wurde.
> 
> HTH
> 
> Gregor
> _______________________________________________
> rubyonrails-ug mailing list
> rubyonrails-ug@headflash.com
> http://mailman.headflash.com/listinfo/rubyonrails-ug
> 

_______________________________________________
rubyonrails-ug mailing list
rubyonrails-ug@headflash.com
http://mailman.headflash.com/listinfo/rubyonrails-ug

Antwort per Email an