У меня есть приложение Ember 1.11, созданное с помощью ember-cli 0.2.3. У меня есть следующие в моем файле router.js:Получение идентификатора родительского объекта в маршруте
this.route('ownedGames', function() {
this.route('gamePlays', {path: ":owned_game_id/plays"}, function() { });
});
Это позволяет мне использовать следующий URL:
http://localhost:4200/ownedGames/1/plays
Когда я посещаю этот адрес, я получаю следующее сообщение об ошибке:
Uncaught Error: Assertion Failed: The value that #each loops over must be an Array. You passed '<[email protected]:owned-game::ember470:1>' (wrapped in (generated ownedGames.gamePlays controller))
Вот мой маршрут для GamePlay
import Ember from 'ember';
export default Ember.Route.extend({
model: function(params) {
console.log("Getting game plays from store");
return this.store.find('gamePlay', {ownedGame: params.owned_game_id});
}
});
И это, как я моделируется моя арматура данные:
OwnedGame.reopenClass({
FIXTURES: [
{ id: "1", rating: "8.25", game: "1", plays: [1,2]},
{ id: "2", rating: "8.25", game: "2", plays: []},
{ id: "3", rating: "8.25", game: "3", plays: []},
{ id: "4", rating: "8.25", game: "4", plays: []}
]
});
GamePlay.reopenClass({
FIXTURES: [
{id: "1", date: "2015-01-01", ownedGame: "1"},
{id: "2", date: "2015-02-01", ownedGame: "1"}
]
});
переход не определен. Так что это не работает. – Gregg
@Gregg вы должны иметь это доступное https://github.com/emberjs/ember.js/blob/bfcc15ee3ac2b2b3e4dad6aa0d7a447936302f5a/packages/ember-routing/lib/system/route.js#L1327. если вы можете настроить jsbin, мы можем отладить furthur –
Спасибо. Я сделал достаточно изменений, я не уверен, насколько важен этот вопрос. Я посмотрю, смогу ли я его редактировать, чтобы иметь смысл. – Gregg