Załóżmy, że mam model Doctor
i model Patient
. A Patient belongs_to a Doctor
.Co to jest "szyny", aby uzyskać dostęp do atrybutów obiektu nadrzędnego?
A Doctor
ma atrybut office
.
Chciałbym, biorąc pod uwagę Patient p
, móc powiedzieć p.office
i uzyskać dostęp do office
z Doktor p
.
zawsze mogłem napisać metodę
class Patient
belongs_to :doctor
def office
self.doctor.office
end
Ale jest tam bardziej automatyczny sposób, aby odsłonić wszystkie metody przypisują Doctor
„s do Patient
? Być może używając method_missing
, aby mieć jakąś metodę catch-all?
Co więc, jeśli oprócz "biura", miałem 10 innych atrybutów, które chciałem "przekazać" do "lekarza"? Czy muszę napisać 10 oświadczeń "delegata"? – Tim
@Tim Możesz napisać tylko jeden. – xdazz
Rozumiem, nie czytałem uważnie i zdałem sobie sprawę, że możesz przekazać wiele pól do przekazania. DZIĘKI! – Tim