Ember.js路径不';t将状态发送到路由以外的其他控制器';违约

Ember.js路径不';t将状态发送到路由以外的其他控制器';违约,ember.js,ember-data,Ember.js,Ember Data,所以,我使用一个路由来保存2个后端API调用的状态。我基本上想做的是: App.EnvironmentRoute = Ember.Route.extend({ model: function(params) { return this.store.find('schedule', params.environment_id); }, setupController: function(controller, model) { this.controllerF

所以,我使用一个路由来保存2个后端API调用的状态。我基本上想做的是:

App.EnvironmentRoute = Ember.Route.extend({
   model: function(params) {
     return this.store.find('schedule', params.environment_id);
   },

  setupController: function(controller, model) {
     this.controllerFor('schedule').set('content', model);
  },                                                                                                                                                                                                           

  renderTemplate: function() {
     this.render('schedule');
  },
});
App.ScheduleController = Ember.ArrayController.extend({});
    App.EnvironmentRoute = Ember.Route.extend({
       model: function(params) {
          return Ember.RSVP.hash(
              schedule: this.store.find('schedule', params.environment_id),
              other: this.store.find('other', params.environment_id)
          }            
       },

       setupController: function(controller, models) {
          this.controllerFor('schedule').set('content', models.schedule);
          this.controllerFor('other').set('content', models.other);
       },   
这是一个仅加载一个模型的示例,但我最终想做的是:

App.EnvironmentRoute = Ember.Route.extend({
   model: function(params) {
     return this.store.find('schedule', params.environment_id);
   },

  setupController: function(controller, model) {
     this.controllerFor('schedule').set('content', model);
  },                                                                                                                                                                                                           

  renderTemplate: function() {
     this.render('schedule');
  },
});
App.ScheduleController = Ember.ArrayController.extend({});
    App.EnvironmentRoute = Ember.Route.extend({
       model: function(params) {
          return Ember.RSVP.hash(
              schedule: this.store.find('schedule', params.environment_id),
              other: this.store.find('other', params.environment_id)
          }            
       },

       setupController: function(controller, models) {
          this.controllerFor('schedule').set('content', models.schedule);
          this.controllerFor('other').set('content', models.other);
       },   
(明细表-是一组模型);我最终想要实现的是将2个后端调用委托给不同的控制器,以实现不同的视图/模板。我目前遇到的问题是,尽管我可以在Chrome inspector中看到正在进行的后端调用和正确返回的数据,但Ember.js似乎没有正确地将其加载或设置到ScheduleController中。出于价值考虑,我甚至不确定数据是否加载到模型中,我也不知道如何验证这一点,因为Route.model()方法返回一个承诺


我使用的是ember 1.0.0和ember data 1.0.0-beta3.2

如果您将console.log(“模型”)添加到setupController hook?应用程序中,您会在inspector中看到什么。计划:ember 270:null,这很可能意味着模型为空:|您的服务器响应如何?完全如预期。。。此.store.find('schedule',)的检查器精确显示必须映射到模型的数据。(服务器返回下划线名称属性,模型有驼峰大小写属性),但这是唯一的区别。如果您将所有内容都推到日程安排*,是否有任何理由使用EnvironmentRoute?您可能正在获取ScheduleController的其他实例,或者需要指定要渲染使用的控制器。