我正在使用名为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'
}*/
];
我在网上到处搜索,除了我之外没有其他人似乎对这个插件有问题,所以我想我会发布在这里。它似乎是一个非常直接的插件,当json格式不正确时,Ember通常会抛出该错误。正如你所看到的,我已经将我的json格式化为插件蓝图所需的内容,但我仍然没有运气。下面你将看到我的fixtures文件,它位于root中我的app目录之外,正如它所假设的那样。此外,我已经包括了我的模型和我的路线,因为看起来这两个人抱怨并且有可能是不正确的。这是一个真正的黑暗镜头,因为我假设许多人没有使用这个框架,甚至更少使用这个特定的插件。任何建议都非常欢迎。
夹具/ 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'}
..........
];
路由/选择-state.js
import Ember from 'ember';
export default Ember.Route.extend({
model: function () {
return this.store.find('state');
}
});
模型/ state.js
import DS from 'ember-data';
export default DS.Model.extend({
state: DS.attr('string'),
url: DS.attr('string'),
symbol: DS.attr('string')
});
答案 0 :(得分:0)
尝试使用findAll而不是仅查找。由于您使用的是数组,因此只应返回数组,而不是单个对象。
在文件-routes / select-state.js
中 return this.store.findAll('state');
答案 1 :(得分:0)
此错误已通过0.0.7修复。问题发布在此处:github.com/huafu/ember-dev-fixtures/issues/1