6
相当直接的灰烬的问题,(我希望!)。灰烬路由器记录错误:这里“Ember.CollectionView的内容必须实现Ember.Array”
我有一个简单的Ember数据设置。一个应用程序有很多版本。这里是我的应用模型:
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({
});
当我运行它,不幸的是我得到的错误:an Ember.CollectionView's content must implement Ember.Array. You passed <App.Version:ember519>
。
有趣的是,如果我在路由器周围添加[appTestController.get('content.versions')]
括号不抱怨,正确地创建了第一个版本的对象的数组。但它似乎不想显示多个对象。
任何提示?
错误是直线前进,它说,App.Version不是一个instanceof阵列,它看起来像你想的对象设置为集合视图(其代码,我不能在这个问题看)的内容属性,这是类型Ember.Array()...清除我如果我错了 –
虽然这是有趣的事情。我想发送一个内容数组的内容数组:除了'appTestController.get('content.versions')'返回一个单一的对象,而不是一个数组? –
appTestController是ObjectController还是ArrayController?还有,你如何查询商店? –