Я пытаюсь вернуть несколько моделей для маршрута, и, да, я использую RSVP.Hash (GitHub link):ember.js: путь возвращения несколько моделей, включая обещание, дает ошибку
App.GamesIndexRoute = Ember.Route.extend({
model: function() {
return new Ember.RSVP.Hash({
player: App.LocalPlayer.singleton(this.store),
games: [{id: 1, name: "Game 1"}, {id: 2, name: "Game 2"}]
});
},
setupController: function(controller, models) {
this._super(controller, models);
controller.set("player", models.player);
}
});
В проблема в том, один из объектов исходит из обещания себя, как я хочу, чтобы найти только первый объект из этой модели (GitHub link):
App.LocalPlayer = DS.Model.extend({
name: DS.attr("string"),
playerId: DS.attr("string")
});
App.LocalPlayer.singleton = function (store) {
return new Ember.RSVP.Promise(function (resolve, reject) {
store.find("localPlayer").then(function (things) {
var p = things.get("firstObject");
if(!p) {
p = store.createRecord("localPlayer");
}
resolve(p);
reject({error: "Error loading LocalPlayer"});
});
});
};
Когда я пытаюсь перейти на маршрут games.index после создания объект LocalPlayer, он говорит: «Ошибка при обработке маршрута: games.index undefined не является функцией TypeError: undefined не является функцией "
Репо находится на GitHub here - полностью с открытым исходным кодом. Пожалуйста помоги.