关于ember.js:如何一起加载资源(如/tasks?ids=1,2,3)?

How to load resources together (like /tasks?ids=1,2,3)?

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

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

1
2
3
4
5
6
7
8
Project 1
  Task 1
  Task 2
  Task 3
Project 2
  Task 1
  Task 2
  Task 3

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

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

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

1
2
3
4
5
6
{{#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 后端以及 Ember 的 ActiveModelAdapter 和 ActiveModelSerializer。

这就是我的 API 返回单个项目的方式(如 /projects/1):

enter