ember dev fixes错误:“;断言失败:findAll的响应必须是数组,而不是未定义的“”;

ember-dev-fixtures ERROR: "Assertion Failed: The response from a findAll must be an Array, not undefined"

本文关键字:数组 dev 未定义 断言 fixes 失败 findAll 响应 ember 错误      更新时间:2023-12-18

我正在使用名为ember dev fixtures的ember插件,当我尝试获取数组时,它会抛出一个错误,说它不是一个。蓝图的配置方式如下:

fixtures/型号名称.js

export default [
  /*{
    id: 1, // all fixtures must have an ID
    title: 'test',
    user: 2, // if it is a relation, put the ID of the related record
    createdAt: '2015-01-26T09:22:17.657Z'
  }*/
];

我在网上到处搜索,除了我,似乎没有其他人对这个插件有问题,所以我想我会在这里发布。它看起来像是一个非常直接的插件,当json格式不正确时,Ember通常会抛出错误。正如你所看到的,我已经按照插件蓝图的要求格式化了json,但我仍然没有运气。下面你会看到我的fixture文件,它在根目录中的应用程序目录之外。此外,我还包括了我的模型和路线,因为这两个似乎都在抱怨,而且可能是不正确的。这真的是一个未知数,因为我认为很多人没有使用过这个框架,甚至很少使用过这个特定的插件。任何建议,我们都非常欢迎。

fixtures/state.js

export default [
  {id: 1, state: 'Alabama', url: 'http://upload.wikimedia.org/wikipedia/commons/5/5c/Flag_of_Alabama.svg', symbol: 'AL'},
  {id: 2,state: 'Alaska', url: 'https://upload.wikimedia.org/wikipedia/commons/e/e6/Flag_of_Alaska.svg', symbol: 'AK'},
  {id: 3,state: 'Arizona', url: 'https://upload.wikimedia.org/wikipedia/commons/9/9d/Flag_of_Arizona.svg', symbol: 'AZ'},
  {id: 4,state: 'Arkansas', url: 'https://upload.wikimedia.org/wikipedia/commons/9/9d/Flag_of_Arkansas.svg', symbol: 'AR'},
  {id: 5,state: 'California', url: 'https://upload.wikimedia.org/wikipedia/commons/0/01/Flag_of_California.svg', symbol: 'CA'},
  {id: 6,state: 'Colorado', url: 'https://upload.wikimedia.org/wikipedia/commons/4/46/Flag_of_Colorado.svg', symbol: 'CO'},
  {id: 7,state: 'Connecticut', url: 'https://upload.wikimedia.org/wikipedia/commons/9/96/Flag_of_Connecticut.svg', symbol: 'CT'},
  {id: 8,state: 'Delaware', url: 'https://upload.wikimedia.org/wikipedia/commons/c/c6/Flag_of_Delaware.svg', symbol: 'DE'}
..........
];

路由/选择状态.js

import Ember from 'ember';
export default Ember.Route.extend({
    model: function () {
      return this.store.find('state');
    }
});

models/state.js

import DS from 'ember-data';
export default DS.Model.extend({
  state: DS.attr('string'),
  url: DS.attr('string'),
  symbol: DS.attr('string')
});

尝试使用findAll而不是仅使用find。由于您使用的是数组,所以应该只返回数组,而不是单个对象。

在文件中-routes/select-state.js

  return this.store.findAll('state');

此错误已用0.0.7修复。该问题发布在这里:github.com/huafu/ember-dev-fixtures/issues/1