我正在尝试从路径的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中得到证明。
答案 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函数。