Hallo Jan,

das was Du mir geschickt hast geht zwar, aber ob das meine Lösung ist weis
ich noch nicht. Da ich da sehr viel an der Applikation ändern müsste.
Aktuell habe ich das Problem das dadurch fast alles Test nicht Laufen. Da
wir manche Objekte aus den Test in die Session laden und diese dann im
Controller verändert werden und dann man ende ein save aufgerufen wird, hier
ist auch wieder das Problem da das Fixure auch schon in der Db vorhanden
ist, somit speichert er beim Aufruf von SAVE die assoziierten Objekte nicht
mit.

Folgendes würde auch gehen:
F = Fahter.new
F.name = ³test²
F.save
F.son = Son.new
F.son.age = 44
F.son.save

Das ist aber alles irgendwie unschön, oder habe ich einfach keine andere
Möglichkeit?

Habt Ihr noch eine Idee?

Herzliche Grüße,
Michael


Am 09.10.2007 17:41 Uhr schrieb "Jan Prill" unter <[EMAIL PROTECTED]>:

> Moin Michael, 
> 
> probiere mal
> 
> f = Father.create
> f.name <http://f.name>  = 'father'
> f.create_son(:age => 88)
> s = f.son
> puts s.age
> 
> Gruß
> Jan
> 
> Am 09.10.07 schrieb Michael Voigt <[EMAIL PROTECTED]>:
>> Hallo,
>> 
>> wir haben ein Problem, das die assoziierte Objekte nur abgespeichert werden
>> wenn das parent Objekt noch nicht in der Datenbank vorhanden ist. Unter
>> Rails 1.1.6 ging dies noch.
>> 
>> Modelle:
>> class Father < ActiveRecord::Base
>>   has_one :son
>> End
>> 
>> class Son < ActiveRecord::Base
>>   belongs_to :father
>> end
>> 
>> Wenn ich das Father Objekt vorher nicht speichere geht es:
>>>> >> f = Father.new
>> => #<Father:0x3411780 @new_record=true, @attributes={"name"=>nil}>
>>>> >> f.name <http://f.name>  = "ralf"
>> => "ralf"
>>>> >> f.son = Son.new
>> => #<Son:0x330150c @new_record=true, @attributes={"father_id"=>nil,
>> "age"=>nil}> 
>>>> >> f.son.age = 99
>> => 99
>>>> >> f.save
>> => true
>>>> >> f.reload.son.age
>> => 99
>> 
>> 
>> Wenn ich das Father Objekt vorher speichere geht es nicht:
>>>> >> e = Father.new
>> => #<Father:0x32f2fc0 @new_record=true, @attributes={"name"=>nil}>
>>>> >> e.name <http://e.name>  = "micha"
>> => "micha"
>>>> >> e.save
>> => true
>>>> >> e.son = Son.new
>> => #<Son:0x32ed82c @errors=#<ActiveRecord::Errors:0x32ec774 @errors={},
>> @base=#<Son:0x32ed82c ...>>, @new_record=false, @attributes={"father_id"=>2,
>> "id"=>2, "age"=>nil}>
>>>> >> e.son.age =88
>> => 88
>>>> >> e.save
>> => true 
>>>> >> e.reload.son.age
>> => nil
>>>> >>
>> 
>> 
>> Ist das ein Bug, oder habe ich ein Verständnisproblem.
>> 
>> Bin über jeden Tipp Dankbar!!!
>> 
>> Herzliche Grüße,
>> Michael
>> 
>> _______________________________________________
>> rubyonrails-ug mailing list
>> [email protected]
>> http://mailman.headflash.com/mailman/listinfo/rubyonrails-ug
>> <http://mailman.headflash.com/mailman/listinfo/rubyonrails-ug>
> 
> 


_______________________________________________
rubyonrails-ug mailing list
[email protected]
http://mailman.headflash.com/mailman/listinfo/rubyonrails-ug

Antwort per Email an