Ember.js 使用余烬数据查找单例
在余烬数据中有没有一种传统的方法来查找单个元素?我已根据以下说明(在“单数”下)为我的Ember.js 使用余烬数据查找单例,ember.js,ember-data,Ember.js,Ember Data,在余烬数据中有没有一种传统的方法来查找单个元素?我已根据以下说明(在“单数”下)为我的GameState型号设置了适配器: 现在,当我获取游戏状态时,我希望能够做到: store.find('gameState'); 但这会在余烬数据中启动一个findAll请求类型,它需要一个数组,而不是一个对象 我的另一个选择是这样做: store.find('gameState', 'mine'); mine参数被忽略,但这将成功获取并加载我的游戏状态。这里的缺点是,余烬数据在我的商店中创建了一个额外的
GameState
型号设置了适配器:
现在,当我获取游戏状态时,我希望能够做到:
store.find('gameState');
但这会在余烬数据中启动一个findAll
请求类型,它需要一个数组,而不是一个对象
我的另一个选择是这样做:
store.find('gameState', 'mine');
mine
参数被忽略,但这将成功获取并加载我的游戏状态。这里的缺点是,余烬数据在我的商店中创建了一个额外的GameState
实例,id为mine
。有没有办法防止这种情况
我使用的是灰烬数据1.0.0-beta.11
我的模型是这样的:
var GameState = DS.Model.extend({
currentPuzzle: DS.belongsTo('puzzle'),
currentRound: DS.belongsTo('puzzleRound'),
currentInventory: DS.attr('number'),
moves: DS.hasMany('move', {async: true}),
createdAt: DS.attr('date'),
updatedAt: DS.attr('date')
});
不,不幸的是,这是这样做的副作用。你可以在这里做一些不同的事情:
您在哪里获取游戏状态?它与调用它的模型有任何关系吗?游戏状态url位于
/api/game\u state
。我更新了我的问题,加入了游戏状态模型。谢谢你的回答。你有没有可能将我链接到github问题、博客帖子或任何真正能解释他们背后原因的东西?在我看来,余烬数据可能存在这么长时间,而不支持什么背后的推理,也不支持什么?:)这里有两个问题,你说的是哪一个?不支持请求单例资源。对不起,不清楚。你们在这里所做的只是看起来在核心灰烬数据中应该有一些东西
return this.store.find('foo').then(function(records){
return records.get('firstObject');
});
var store = this.store;
return $.ajax('foo').then(function(data){
return store.push('foo', data); // push returns the record
});