Rails:在ActiveRecord结果中包含关联值

问题描述:

我有两个对象:用户和图片。Rails:在ActiveRecord结果中包含关联值

一个用户有多张图片。我只想在ActiveRecord查询中包含该用户的“主图片”url。 Url是Picture的一个属性,primary_picture_id是用户的属性。

这里的目标是将结果转化为json的搜索结果。

所以我想要做的是一样的东西:

User.where("...").select(:id, :title, {|user| user.primary_picture.path}).to_json 

......但显然,这不是有效的。

有没有办法将关联对象中的属性包含到查询结果中?

谢谢!

试试这个

User.includes(:primary_picture).select(:id, :title, :path) 
+0

谢谢!当我添加,我得到:(对象不支持#inspect) – mrbenhill

+0

我的意思是,调用'to_json',但在控制台中尝试该行,以查看这是否是你想要的,它应该工作 – Ursus