需要在一个有效记录查询中检索所有对象的所有子项,但这些不起作用:
Class.includes(:children)
Class.joins(:children).uniq.all
两个人都找不到孩子。它需要一个像:
这样的回复对象:{ "param1":"value1", ... "children" : [...] }
它类似于Eloquent ORM(PHP)中的.with()
答案 0 :(得分:3)
听起来您正在尝试将格式化为JSON的子项包含在内。这将返回你想要的东西:
Foo.find(1).as_json({ include: :bars })
# => {"foo"=>{"id"=>1, "name"=>"first", :bars=>[{"id"=>1, "amount"=>5}, {"id"=>2, "amount"=>5}]}}
您可以查看as_json的API文档,了解您可以使用的其他选项。一些常见的是methods
和only
来限制返回的字段。