我有一个模型,Post
有很多Comment
s。的响应GET /posts/12
非常适合 Ember 数据:
{
"post": {
"id": 12,
"title": "I Love Ramen",
"created_at": "2011-08-19T14:22",
"updated_at": "2011-08-19T14:22",
"body": "..."
}
}
Post
但是,该s的 APIComment
是GET /posts/12/comments
,它返回
{
"comments": [
{
"id": 673,
"author_id": 48,
"created_at": "2011-08-21T18:03",
"body": "Me too!"
}
]
}
我可以对我的模型或适配器做些什么来告诉它 for Post 12
s Comment
, use /posts/12/comments
?请注意,它Post
本身不知道Comment
ID。
更新
针对buuda 的回答,这里有一些说明:
ThePost
必须能够查找它Comment
的 s 以便我可以(a)显示对 the 的评论PostRoute
和(b)在Post
like上有属性
hasComments: function() {
return this.get('comments.length') > 0;
}.property('comments')
不过,如果我必须实现comments
计算属性,这对我来说很好。在上述答案中,布达建议
App.Comments.find({ id: postId });
如何获取数据存储/posts/:postId/comments
而不是fetch /comments?postId=:postId
?