我在优化大型activerecord查询时遇到问题。我需要在我的请求中包含一个关联的模型,但由于返回集的大小,我只想包含几个相关的列。例如,我有:
Post.includes(:user).large_set
我正在寻找类似的东西:
Post.includes(:user.name, :user.profile_pic).large_set
我需要实际使用名称和配置文件pic属性,因此据我所知,Post.joins(:user)不是一个选项。
答案 0 :(得分:2)
select
:
Post.select("posts.*, users.name, users.profile_pic").large_set
http://guides.rubyonrails.org/active_record_querying.html#selecting-specific-fields
答案 1 :(得分:0)
你必须使用join来完成你想要的东西,因为includes没有这个功能。或者您可以使用自己的包含方法: - )