繁体   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