Ziemlich geradlinig Ember Frage hier, (ich hoffe!).Ember Router protokolliert Fehler: "Ember.CollectionView Inhalt muss Ember.Array implementieren"
Ich habe eine einfache Ember-Daten-Setup. Eine App hat viele Versionen. Hier ist meine App-Modell:
App.App = DS.Model.extend({
name: DS.attr('string'),
publicKey: DS.attr('string'),
versions: DS.hasMany('App.Version', { key: 'version_ids' })
});
Mein Router ist ziemlich einfach:
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'));
}
})
})
})
});
Und die Ansichten und Controller wie folgt aussehen:
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({
});
Wenn ich es laufen leider bekomme ich die Fehler : an Ember.CollectionView's content must implement Ember.Array. You passed <App.Version:ember519>
.
Interessanterweise, wenn ich Klammern um [appTestController.get('content.versions')]
im Router hinzufügen, beschweren sie sich nicht und erstellt ein Array mit dem ersten Version-Objekt korrekt. Aber es scheint nicht mehr als ein Objekt zeigen zu wollen.
Irgendwelche Tipps?
Der Fehler ist einfach, es besagt, dass App.Version kein instanceOf-Array ist. Es sieht so aus, als ob Sie versuchen, ein Objekt auf content -Eigenschaft der Collection-Ansicht zu setzen (dessen Code ich in der Frage nicht sehen kann). was ist vom Typ Ember.Array() ... Löschen Sie mich Wenn ich falsch liege –
Das ist die lustige Sache, obwohl. Ich möchte das Inhalts-Array mit einem Array von Inhalten gesendet werden: außer 'appTestController.get ('content.versions')' gibt ein einzelnes Objekt anstelle eines Arrays zurück ?! –
appTestController ist ObjectController oder ArrayController? Und wie fragen Sie den Laden? –