Ember.js 处理路由时出现Ember错误:索引断言失败:无法找到模型的装置

Ember.js 处理路由时出现Ember错误:索引断言失败:无法找到模型的装置,ember.js,ember-data,ember-cli,fixtures,Ember.js,Ember Data,Ember Cli,Fixtures,我有一个索引页面,其中显示了一个发票列表,用户可以单击该列表创建和编辑发票,我在适配器中使用了DS.FixtureAdapter 问题是我得到了这个错误 处理路由时出错:索引断言失败:找不到模型的装置 如果在我的模型中,我像这样重新打开这个类,一切都会很好 Invoice.reopenClass({ FIXTURES: [ { id : '1', name : 'Invoice num 1', transaction

我有一个索引页面,其中显示了一个发票列表,用户可以单击该列表创建和编辑发票,我在适配器中使用了DS.FixtureAdapter

问题是我得到了这个错误

处理路由时出错:索引断言失败:找不到模型的装置

如果在我的模型中,我像这样重新打开这个类,一切都会很好

Invoice.reopenClass({
  FIXTURES: [
    {
      id          : '1',
      name        : 'Invoice num 1',
      transactions: [1]
    }
  ]
});
所以我假设我在模板中做错了什么,我说如果没有发票,请显示“没有发票…”


仅当我启动ember服务器时,这看起来像是一个问题,因为例如,如果我开始创建和删除发票,并且我想删除所有发票,则索引页会正确显示“无发票…”

即使您想开始时没有记录,也始终需要设置装置。余烬仍然需要去某个地方寻找它们,如果您至少没有一个带有空数组的fixture,那么它将出错

因此,您可以在模型中使用以下内容开始项目:

Invoice.reopenClass({
  FIXTURES: []
});
import Ember from 'ember';

export default Ember.Route.extend({
  model: function(){
    return this.store.find('fattura');
  }
});
Invoice.reopenClass({
  FIXTURES: []
});