2016-08-07 97 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