2012-09-14 71 views
0

我做我的模型下面的查询:轨JSON过滤器“:只有”

output = user.interests.includes([:culture, :sports]) 

这给了我所有的“利益”与所有的“文化”和用户的“体育”的条目。 我只想将“兴趣”,“文化”和“运动”的id列转发给客户端作为json。

我试图做这样说:

output.to_json(:include => [:culture, :sports], :only => ['id']) 

在做这样的说法也只能说明利益的ID,但仍包含“文化”和“运动”的每一列。我必须添加什么来限制“文化”和“体育”也仅限于ID?

在此先感谢!

回答

1

您可以添加选项,每个包括通过使用单独的散,e.g:

output.to_json(:include => { :culture => { :only => :id }, :sports => { :only => :id } }, :only => ['id']) 
+0

的感谢!似乎部分工作。有了这个,我得到了兴趣和文化的ID。但运动结果完全消失。我无法发现语法错误。你知道在这种情况下可能是什么问题吗? –

+0

我的错误是,您需要使用散列代替包含的数组。更新了答案。 – pjumble

+0

啊,非常感谢你的亲切帮助! –