【发布时间】:2014-08-14 15:22:36
【问题描述】:
我正在使用 ember-data#canary,它在从商店中查找记录时出现严重错误。
File: router.js
this.resource('games', function() {
this.route('game', { path: '/:game' });
});
File: games_route.js
App.GamesRoute = Ember.Route.extend({
model: function() {
// request: GET /api/games
// response: { games: [
// { id: 1, slug: lym, name: lose your marbles }
// ] }
return this.store.find('game');
}
});
File: game_route.js
App.GamesGameRoute = Ember.Route.extend({
model: function(params) {
// this query causes bogus data to show up.
// request: GET /api/games/lym
// response: { game: { id: 1, slug: lym, name: lose your marbles } }
return this.store.find('game', params.game);
},
serialize: function(game) {
return { game: game.get('slug') };
}
});
File game_model.js
App.Game = DS.Model.extend({
slug: DS.attr('string'),
name: DS.attr('string'),
});
当我访问 /games ember-inspector 数据选项卡时显示 1 个游戏已加载。
`id` `slug` `name`
1 lym lose your marbles
当我访问 /games/lym ember-inspector 数据选项卡时显示 2 个游戏已加载。
`id` `slug` `name`
1 lym lose your marbles
lym undefined undefined
第二个数据显然是伪造的。我不知道它是从哪里来的,这给我带来了麻烦。
【问题讨论】:
标签: javascript ruby-on-rails node.js ember.js ember-data