如何在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
):