ember-dev-fixtures ERROR: "Assertion Failed: The response from a findAll must be an Array, not undefined"
ember-dev-fixtures ERROR: "Assertion Failed: The response from a findAll must be an Array, not undefined"
我正在使用名为 ember-dev-fixtures 的 ember 插件,当我尝试获取数组时它抛出一个错误,说它不是一个。蓝图的配置方式是这样的:
夹具/模型名称.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'
}*/
];
我在网上到处搜索,除了我之外似乎没有人对这个插件有问题,所以我想我会 post 在这里。这似乎是一个非常简单的插件,并且 Ember 通常会在 json 格式不正确时抛出该错误。如您所见,我已将 json 格式化为插件蓝图所需的格式,但我仍然没有运气。下面你会看到我的 fixtures 文件,它在我的应用程序目录之外的根目录中,正如它应该是的那样。此外,我已经包括了我的模型和我的路线,因为看起来那些是抱怨并且有可能不正确的两个。这真的是在黑暗中开枪,因为我假设很多人没有使用过这个框架,甚至更少使用过这个特定的插件。非常欢迎任何建议。
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'}
..........
];
routes/select-state.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 而不是仅查找。由于您使用的是数组,因此您应该 return 仅数组而不是单个对象。
在文件中-routes/select-state.js
return this.store.findAll('state');
此错误已在 0.0.7 中修复。问题发布在这里:github.com/huafu/ember-dev-fixtures/issues/1
我正在使用名为 ember-dev-fixtures 的 ember 插件,当我尝试获取数组时它抛出一个错误,说它不是一个。蓝图的配置方式是这样的:
夹具/模型名称.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'
}*/
];
我在网上到处搜索,除了我之外似乎没有人对这个插件有问题,所以我想我会 post 在这里。这似乎是一个非常简单的插件,并且 Ember 通常会在 json 格式不正确时抛出该错误。如您所见,我已将 json 格式化为插件蓝图所需的格式,但我仍然没有运气。下面你会看到我的 fixtures 文件,它在我的应用程序目录之外的根目录中,正如它应该是的那样。此外,我已经包括了我的模型和我的路线,因为看起来那些是抱怨并且有可能不正确的两个。这真的是在黑暗中开枪,因为我假设很多人没有使用过这个框架,甚至更少使用过这个特定的插件。非常欢迎任何建议。
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'}
..........
];
routes/select-state.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 而不是仅查找。由于您使用的是数组,因此您应该 return 仅数组而不是单个对象。
在文件中-routes/select-state.js
return this.store.findAll('state');
此错误已在 0.0.7 中修复。问题发布在这里:github.com/huafu/ember-dev-fixtures/issues/1