我用来获取数据的 REST API 没有提供 Ember.js 所期望的正确 JSON。我们的数据中没有 id 值。
[{"objectID":"340907","owner":"Lokesh"},{"objectID":"340908","owner":"Cherukuri"}]
所以,我创建了一个序列化器:
序列化器/baddata.js
import DS from 'ember-data';
export default DS.JSONSerializer.extend({
primaryKey: 'objectID'
});
适配器/baddata.js
import DS from 'ember-data';
export default DS.RESTAdapter.extend({
host: 'http://localhost:8080',
buildURL : function(modelName, id) {
return this.host + "/baddata/trains/"+ id;
}
});
models/baddata.js
import DS from 'ember-data';
export default DS.Model.extend({
owner: DS.attr('string')
});
这并没有解决问题。有人可以纠正我的错误吗?
最佳答案
我正在使用 mongo,在您的示例中我看到您使用了 ApplicationSerializer。我认为你需要使用以下
如果您使用 JSONSerializer 则
import DS from 'ember-data';
export default DS.JSONSerializer.extend({
primaryKey: 'objectID'
});
如果您使用 REST 序列化程序
import DS from 'ember-data';
export default DS. RESTSerializer.extend({
primaryKey: 'objectID'
});
我尝试搜索ApplicationSerializer类,但文档下没有提到它。这对我和 mongo 有用,我用它来更改为 _id
希望对你有帮助
关于javascript - Ember.js 错误 : You must include an 'id' for an object passed to 'push' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38755903/