Has_many :through: << bei nicht-trivialen through-Models


#1

Angenommen, A ist per has_many :through über T mit B verknüpft. Ich
möchte nun

a.bs << b

ausführen.

Für triviale has_many :through-Assoziationen, bei denen das
through-Model wirklich nur die Verknüpfung herstellt, ist das kein
Problem – aber in so einem Fall könnte man auch gleich habtm
verwenden.

In meinem Fall hat T weitere, verpflichtende Attribute, weshalb

a.bs << b

korrekterweise zu einer Exception führt. Also vielleicht so

t = T.new(:a => a, :b => b, :x => …)

oder

t = a.ts.build(:b => b, :x => …)

Das könnte funktionieren, tut es aber nur fast. Erst nach t.save!
bekommen die anderen involvierten Objekte die Neuigkeit mit.

Fällt zufällig jemand ein, wie man dafür sorgen kann, dass auch
ungespeicherte (Assoziations-)Objekte unmittelbar sichtbar sind?

Michael


Michael S.
mailto:removed_email_address@domain.invalid
http://www.schuerig.de/michael/