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?還有,你如何查詢商店? –