Javascript 余烬路由器日志错误:";余烬收藏视图';s内容必须实现Ember.Array“;

Javascript 余烬路由器日志错误:";余烬收藏视图';s内容必须实现Ember.Array“;,javascript,ember.js,client-side,Javascript,Ember.js,Client Side,这里有一个相当直截了当的余烬问题,(我希望!) 我有一个简单的余烬数据设置。一个应用程序有多个版本。以下是我的应用程序模型: App.App = DS.Model.extend({ name: DS.attr('string'), publicKey: DS.attr('string'), versions: DS.hasMany('App.Version', { key: 'version_ids' }) }); 我的路由器相当简单: App.Router = Ember.Rou

这里有一个相当直截了当的余烬问题,(我希望!)

我有一个简单的余烬数据设置。一个应用程序有多个版本。以下是我的应用程序模型:

App.App = DS.Model.extend({
  name: DS.attr('string'),
  publicKey: DS.attr('string'),
  versions: DS.hasMany('App.Version', { key: 'version_ids' })
});
我的路由器相当简单:

App.Router = Ember.Router.extend({
  location: 'hash',
  root: Ember.Route.extend({
    index: Ember.Route.extend({
      route: '/',
      redirectsTo: 'dashboard'
    }),
    dashboard: ...,
    app: Ember.Route.extend({
      route: '/:app_id',
      connectOutlets: function(router, app) {
        router.get('applicationController').connectOutlet('appTest', app);
      },

      index: Ember.Route.extend({
        route: '/',
        connectOutlets: function(router) {
          appTestController = router.get('appTestController');
          appTestController.connectOutlet('addCommentOutlet', 'addComment', {});
          appTestController.connectOutlet('versions', appTestController.get('content.versions'));
        }
      })
    })
  })
});
视图和控制器如下所示:

App.AppTestView = Ember.View.extend({
  templateName: 'app_test'
});

App.VersionsView = Ember.View.extend({
  templateName: 'versions'
});

App.AppTestController = Ember.ObjectController.extend({
});

App.VersionsController = Ember.ArrayController.extend({
});
不幸的是,当我运行它时,我得到一个错误:
一个Ember.CollectionView的内容必须实现Ember.Array。您通过了

有趣的是,如果我在路由器中的
[appTestController.get('content.versions')]
周围添加括号,它不会抱怨并正确地创建一个包含第一个版本对象的数组。但它似乎不想显示多个对象


有什么提示吗?

最后,不是模型、视图对象或控制器!甚至不是路由器

它是
版本。把手
。我的模板中有一个循环,如下所示:

{{#each version in controller}}
  Version here
  {{#each comment in version}}
    {{comment.text}}
  {{/each}}
{{/each}}
我写错了:

each comment in version
。。。我想写的地方是:

each comment in version.comments

:)这解释了错误消息。希望这对其他人有帮助

错误是直截了当的,它说App.Version不是数组的instanceOf,看起来您正试图将一个对象设置为集合视图的内容属性(我在问题中看不到该视图的代码),它的类型是Ember.Array()…如果我错了请清除我这是一件有趣的事情。我想用内容数组发送内容数组:除了
appTestController.get('content.versions')
返回的是单个对象而不是数组?!appTestController是ObjectController或ArrayController?&另外,您如何查询存储?ObjectController。我使用的是余烬数据(因此您在这里看到的一切都是我在数据库/存储端得到的一切)。不过我刚想出来!将发布一个答案。作为未来问题的提示:如果您包含一个JSFIDLE来演示您的问题,那么您很可能会得到一个答案。。。