Ember Rest Adapter - 如何在单一路线上呼叫两个休息服务

时间:2014-09-29 11:54:21

标签: ember.js ember-data

我是New Ember.js和Ember-Data。通过一些示例教程,我能够理解一些基本的东西,并开始使用我自己的应用程序。现在我遇到了一个问题,我应该调用两个不同的REST服务:一个用于显示hbs中的表值,另一个用于将数据加载到我的Route中的下拉选择框中,但是我无法实现这一点。

我尝试了博客中提供的大多数方法,但我找不到解决方案。你能指导我吗?

方法

model : function() {
    return this.store.find('User');
},
customers: function(){
  return this.store.find('Customer');
},

我遇到错误

Error while processing route: AdminUser Assertion Failed: The response from a findAll must be an Array, not undefined

1 个答案:

答案 0 :(得分:1)

您看到的错误似乎是您的API响应问题。它说它返回一个用户对象而不是一组用户。

解决后,您可以使用Ember.RSVP.hash返回一系列承诺,这些承诺必须全部解析才能被视为已解决。然后使用setupController将用户设置为模型,将客户设置为控制器上的单独属性。

model : function() {
  return Ember.RSVP.hash({
    users: this.store.find('User'),
    customers: this.store.find('Customer')
  });
},

setupController: function(controller, model) {
  controller.set('model', model.users);
  controller.set('customers', model.customers);
}