我需要从带有 ember-data 及其默认 REST 适配器的 rails 后端加载模型。我有一个模型与另一个模型有很多关系:
App.Post = DS.Model.extend({
title: DS.attr("String");
comments: DS.hasMany('App.Comment', {keys: 'post_ids', embbeded: true});
})
App.Post = DS.Model.extend({
body: DS.attr("String");
post: DS.belongsTo('App.Post');
})
服务器返回的 JSON 模型看起来像
{
title: "a title",
comment_ids: [1,2,3,4]
}
出于效率原因,我首先需要加载所有帖子而无需加载相关评论。我这样做
App.store.findAll('App.Post');
而且,当我选择特定帖子时,我需要加载所有评论。在 ember-data 文档中,据说我只需要调用
a_specific_post.get('comments')
当我这样做时,我会得到一个很长的 url,其中包含所有评论 id:
GET : /comments?ids%all_ids_appended_here
当然它不起作用,如果我有一千条评论,那么 url 会非常长。
是否可以获得与 rails 的嵌套路由模型匹配的请求?:
GET /posts/post_id/comments
插件 route-manager https://github.com/ghempton/ember-routemanager似乎就是这种路由。我可以将它与 ember-data 一起使用吗?如何使用?
谢谢