[英]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.