我有一个使用ember-cli 0.2.3创建的Ember 1.11应用程序。我在router.js文件中的以下内容:获取路由中父对象的ID
this.route('ownedGames', function() {
this.route('gamePlays', {path: ":owned_game_id/plays"}, function() { });
});
这允许我使用以下网址:
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))
这里是我的游戏路线
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