我需要使用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')
当我这样做的时候,我会得到一个包含所有注释ID的非常长的网址:
GET : /comments?ids%all_ids_appended_here
当然它不起作用,如果我有一千条评论,网址非常长。
是否可以获得与rails的嵌套路由模型匹配的请求? :
GET /posts/post_id/comments
插件路由管理器https://github.com/ghempton/ember-routemanager似乎就是这种路由。我可以将它与ember-data一起使用吗?
由于
答案 0 :(得分:1)
如果您只指定评论ID,我不确定嵌入式是您想要的。期望在帖子模型的JSON表示中传递完整的评论对象。