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
