Dość proste pytanie Ember tutaj (mam nadzieję!).Błąd dziennika rutera Ember: "Zawartość Ember.CollectionView musi implementować Ember.Array"
Mam prostą konfigurację danych Ember. Jedna aplikacja ma wiele wersji. Oto mój model aplikacji:
App.App = DS.Model.extend({
name: DS.attr('string'),
publicKey: DS.attr('string'),
versions: DS.hasMany('App.Version', { key: 'version_ids' })
});
Mój router jest dość prosta:
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'));
}
})
})
})
});
I widoki i kontrolery wyglądać następująco:
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({
});
Kiedy uruchamiam go niestety pojawia się błąd : an Ember.CollectionView's content must implement Ember.Array. You passed <App.Version:ember519>
.
Co ciekawe, jeśli dodaję nawiasy wokół [appTestController.get('content.versions')]
w routerze, to nie narzeka i tworzy poprawnie tablicę z pierwszym obiektem wersji. Ale wydaje się, że nie chce pokazywać więcej niż jednego obiektu.
Jakieś wskazówki?
Błąd jest prosty, mówi, że App.Version nie jest tablicą instanceOf. Wygląda na to, że próbujesz ustawić właściwość Object na zawartość widoku kolekcji (której kod nie widzę w pytaniu), który jest typu Ember.Array() ... Oczyść mnie Jeśli się mylę, –
To jest jednak zabawne. Chcę wysłać zawartość tablicy z tablicą treści: z wyjątkiem 'appTestController.get (" content.versions ') 'zwraca jeden obiekt zamiast tablicy ?! –
appTestController jest ObjectController lub ArrayController? a także w jaki sposób przesyłasz zapytanie do sklepu? –