On Nov 19, 2007 11:52 AM, Alex Peuchert <[EMAIL PROTECTED]> wrote:
> Hi, ohne nachzudenken... was ist mit to_yaml?
>
> A.create(:b => B.find(:first).to_yaml)

Das wäre natürlich eine option, aber extrem unsympathisch, da ich dann
an allen stellen, wo ich b benutzen möchte, YAML::load und YAML::dump
benutzen müsste. Das ist nicht meine Vorstellung von Kapselung. Und
eigentlich ist das ja genau das was serialize automatisch tun sollte.

Hat jmd. noch andere Ideen?

Viele Grüße

Gregor

>
> -alex
>
>
> Gregor Schmidt wrote:
> > Hallo,
> >
> > der Use Case: Ich möchte in Model A eine Kopie von Model B speichern.
> > Und zwar mit Hilfe von ActiveRecords serialize Methode.
> >
> > class A < ActiveRecord::Base
> >   serialize :b
> > end
> > class B < ActiveRecord::Base
> > end
> >
> > Folgendes funktioniert
> >
> > A.create(:b => {:a => 1})
> >
> > Der Hash wird YAML-serialisiert in die Datenbank geschrieben. Aber
> > wenn die Referenz eine Instanz von ActiveRecord ist, dann passiert
> > nichts.
> >
> > A.create(:b => B.find(:first)) # natürlich angenommen es gibt ein B in
> > der Datenbank
> >
> > Trotzdem ist die b Spalte in der Datenbank dann leer. Beim abholen des
> > Datensatzes ist b nil.
> >
> > Meine Analyse sagt mir, dass man anscheinend ActiveRecord-Instanzen
> > nicht mit Hilfe der serialize Methode serialisieren kann.
> >
> > Hat jemand einen Tipp, was ich übersehen habe, oder wie ich am
> > elegantesten die Serialisierung manuell implementiere.
> >
> > Vielen Dank
> >
> > Gregor
> > _______________________________________________
> > rubyonrails-ug mailing list
> > [email protected]
> > http://mailman.headflash.com/mailman/listinfo/rubyonrails-ug
> >
> >
>
> _______________________________________________
> rubyonrails-ug mailing list
> [email protected]
> 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