3

我需要从带有 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 一起使用吗?如何使用?

谢谢

4

1 回答 1

1

如果您只指定评论 ID,我不确定嵌入式是否是您想要的。它期望完整的评论对象以 post 模型的 JSON 表示形式传递。

于 2012-05-01T21:12:40.357 回答