2016-08-07 28 views
0

自从我进行任何Rails开发已经过去了几年。过去有一种方法可以以一种一对一的关系访问子属性作为该模型的属性。Rails一对一儿童属性作为自我属性访问

因此,举例来说,如果你有两种型号:PersonAddress,他们有一个1:1的关系,你可以拉回来@person.zip_code,而不是@person.address.zip_code

当您可以明确定义模型中的可访问属性时,这很容易实现。看来这已经在Rails 4中消失了。

任何想法?

回答

0

它仍然在Rails 4中可用。
你想要的是delegate方法。

class Address 
    belongs_to :person 
end 

class Person 
    has_one :address 
    delegate :zip_code, to: :address 
end 

现在你可以做@person.zip_code

请阅读docs了解更多关于选项的信息,如prefixallow_nil

+0

完美!谢谢。这很容易。 – astangelo