一个视图的多个控制器 - 未设置模型的请求

时间:2014-01-04 13:41:38

标签: ember.js ember-data

我收到了以下代码:

App.ApplicationSerializer = DS.ActiveModelSerializer.extend({});

App.Router.map(function(){
  this.resource('clients', { path : '/' });
});

App.ApplicationAdapter = DS.RESTAdapter.extend({
  namespace: 'api'
});

App.ClientsRoute = Ember.Route.extend({
  setupController: function(controller, model){
    controller.set('model', model);
    this.controllerFor('patients').set('model', this.store.find('patient'));
  }
});

当加载主页面时,请求仅发送到localhost:3000 / api / patients,而不发送给作为给定视图的主控制器的客户端:/

你能发现错误吗?我正在使用App.ApplicationSerializer = DS.ActiveModelSerializer.extend({});

我认为这可能是错误,但在删除之后我没有看到任何变化。

1 个答案:

答案 0 :(得分:1)

您没有为ClientsRoute定义模型:

App.ClientsRoute = Ember.Route.extend({
  model: function() {
    return this.store.find('client');
  }
});

唯一不需要定义模型的情况是路径是一个简单的动态段(显示特定记录)。例如:

App.Router.map(function() {
  this.route('client', { path: '/clients/:client_id' });
});

App.ClientRoute = Ember.Route.extend({
  // Default model (no need to explicitly define it):
  // model: function(params) {
  //   return this.store.find('client', params.client_id);
  // }
});