使用FixtureAdapter时查询ember.js中的记录时出错

时间:2015-03-30 01:21:48

标签: ember.js ember-data

我正在尝试从路径的model()函数中的另一个页面检索模型中的值。当我通过ID查找记录时,这很好用。

self.store.find('thing', 1).then(function(beers) { 
    self.controllerFor('edit').set('title', beers.get('beer'));
});

但是,当我尝试使用查询来获取此信息时,我会从ember.js的第14261行收到Error: Assertion Failed: Error: More context objects were passed than there are dynamic segments for the route: error消息。

以下是导致此问题的代码:

self.store.find('thing', { beer: params.beer }).then(function(beers) { 
    self.controllerFor('edit').set('title', beers.objectAt(0).get('beer')); 
});

我确保模型具有section属性,并且正在从路径中正确设置params.section。什么会导致错误?问题在this bin中得到证明。

1 个答案:

答案 0 :(得分:0)

虽然抛出的JavaScript错误不是很有帮助,但在检查控制台日志时确实有这个有用的消息:Error while processing route: index" "Assertion Failed: Not implemented: You must override the DS.FixtureAdapter::queryFixtures method to support querying the fixture store.

为了解决这个问题,我根据this question中的答案修改了ember-data.js中的queryFixtures函数。