ruby-on-rails – 访问父对象属性的“rails方式”是什么?

假设我有模特医生和模特病人.病人属于医生.

医生有一个属性办公室.

我想,如果有患者p,可以说p.office并访问p’s Doctor的办公室.

我总是可以写一个方法

class Patient
    belongs_to :doctor
    def office
        self.doctor.office
    end

但有没有更自动的方式将所有Doctor的属性方法暴露给患者?也许使用method_missing来拥有某种catch-all方法

解决方法

你可以使用 delegate.
class Patient
    belongs_to :doctor
    delegate :office,:to => :doctor
end

您可以在一个委托方法中拥有多个属性.

class Patient
    belongs_to :doctor
    delegate :office,:address,:to => :doctor
end

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...