【发布时间】:2014-01-18 00:15:51
【问题描述】:
通过使用 Express 编写的 REST API 将帖子(标题、文本)保存到 mongodb 数据库并刷新浏览器后,我收到此错误。我已经将我的主键设置为“_id”并且一直在阅读可能对数据进行规范化的信息?
这是来自服务器的有效负载(数据库中只有 1 个帖子):
{
"posts": [
{
"title": "The Title",
"text": "Lorem ipsum",
"_id": "52c22892381e452d1d000010",
"__v": 0
}
]
}
控制器:
App.PostsController = Ember.ArrayController.extend({
actions: {
createPost: function() {
// Dummy content for now
var to_post = this.store.createRecord('post', {
title: 'The Title',
text: 'Lorem ipsum'
});
to_post.save();
}
}
});
型号:
App.Post = DS.Model.extend({
title: DS.attr('string'),
text: DS.attr('string')
});
序列化器:
App.MySerializer = DS.RESTSerializer.extend({
primaryKey: function(type){
return '_id';
}
});
适配器:
App.ApplicationAdapter = DS.RESTAdapter.extend({
namespace: 'api'
});
非常感谢任何帮助!如果您需要任何其他信息,请告诉我。 谢谢
【问题讨论】:
-
primaryKey是怎么设置的?
-
@kingpin2k 我用过
DS.JSONSerializer.extend({ primaryKey: function(type) {return '_id';} }); -
您介意在上面显示适配器和序列化程序代码吗?
-
@kingpin2k 当然,我将它们添加到底部。似乎我可以检索数据,但是对于从 api 返回的每个帖子,我都会收到错误消息。感谢您的帮助!
标签: ember.js