簡體   English   中英

Rails:delegate方法是否總是加載關聯?

[英]Does Rails :delegate method always load the association?

我在Rails 3.2中使用:delegate方法獲取/設置對象關聯的方法。 即使我沒有調用委托的方法,這似乎總是會加載關聯。

例如,如果我有:

class Post < ActiveRecord::Base
   delegate :name, :to => :author, :prefix => true
end

如果我這樣做,則Post.all.limit(10)不管我是否訪問@post.author_name ,ActiveRecord也會為每個帖子加載作者。

有沒有一種方法可以延遲加載委托的關聯? 還是我最好編寫自定義包裝方法,這些方法會延遲加載關聯?

他們不急於為我加載,這可能是您代碼中的其他內容嗎?

無論如何,我從未喜歡過使用帶有prefix delegate ,這似乎有點奇怪。 您實際上不再委托一個方法,而是以一種難以閱讀和解析的方式定義了一個新方法。 我只是按照您的建議編寫包裝器方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM