加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 19:09:11 所属栏目:百科 来源:网络整理
导读:假设我有模特医生和模特病人.病人属于医生. 医生有一个属性办公室. 我想,如果有患者p,可以说p.office并访问p’s Doctor的办公室. 我总是可以写一个方法 class Patient belongs_to :doctor def office self.doctor.office end 但有没有更自动的方式将所有Doct
假设我有模特医生和模特病人.病人属于医生.

医生有一个属性办公室.

我想,如果有患者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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读