2013-06-20 21 views
3

我對軌道委託功能感到困惑。雖然我指的是apidoc 我需要更好的理解。以下是我在開源項目中找到的兩種代表類型。Rails委託 - 它是如何工作的

delegate :id, :guid, to: :person, prefix: true 

delegate :last_name, :image_url, :tag_string, :bio, to: :profile 

它們之間有什麼不同?使用和不使用prefix會影響多少?謝謝。

回答

4

prefix: true指定您必須將模型名稱作爲前綴添加到委託方法中。因此,對於一個Widget實例只需要調用它像這樣:

widget.person_id 
widget.person_guid 

不指定prefix意味着你調用該委託沒有的型號名稱的前綴,例如

widget.last_name 
widget.image_url 

+0

謝謝,這似乎很清楚 – Scarface