假设我有Article
n Comments
。我将如何使用DataMapper在一个查询中抓取文章中的所有注释?
类似以下错误代码:
Article.get(:id).include(:comments).to_json
我希望在json中返回相关的注释,如下所示:
{
article object
comments: [
{ comment object },
{ comment object }
]
}
似乎必须有一个比抓取注释更好的方法,并在调用to_json之前手动将它们添加到属性哈希中。
答案 0 :(得分:8)
在lib/to_json.rb
似乎有relationships
和methods
两种选项作为to_json
方法的选项。默认包含是不可能的,但要求:
@article.to_json(methods: [ :comments ])
为了更深入,代码中的注释中有一个未记录的(因此可以更改)示例:
comments.to_json(:relationships=>{:user=>{:include=>[:first_name],:methods=>[:age]}})
类似于:
@article.to_json(relationships: { comments: { methods: [ :likes ] } }