如何一起加载资源(比如/ tasks?ids = 1,2,3)?

时间:2014-12-15 14:32:21

标签: ember.js ember-data

如何在Ember.js中的一个请求中加载多个资源?

我正在加载我的所有项目,并希望显示分配给该项目的所有任务的列表,例如:

Project 1
  Task 1
  Task 2
  Task 3
Project 2
  Task 1
  Task 2
  Task 3

我的路线返回所有项目......(我在项目模型中设置了tasks: DS.hasMany('task', {async: true})):

model: function() {
  return this.store.find('project');
}

...我的模板显示了他们和他们的任务:

{{#each project in projects}}
  {{project.name}}
  {{#each task in project.tasks}}
    {{task.status}}
  {{/each}}
{{/each}}

但是现在,ember会针对每项任务激发数十项请求。我想知道如何对它们进行分组,因此Ember只需要为项目的所有任务提出一个请求(类似于/tasks?ids=1,2,3)?

我使用Ember,Ember-Data,Rails API-Backend和Ember的ActiveModelAdapter和ActiveModelSerializer。

我的API如何返回单个项目(例如/projects/1):

enter image description here

1 个答案:

答案 0 :(得分:0)

忘记将embed_in_root: true添加到我的序列化程序中。