我有一个奇怪的问题。我在节点中编写了一个REST api来处理来自Ember的请求。
可以使用GET检索数据并使用POST保存。但是当创建新记录并且我重定向到显示新保存记录的页面时,其路径中的ID显示为“null”。如果我返回显示整个集合的页面,则新记录将重复显示;一个在其路径中具有正确的ID,另一个具有“null”。如果我重置页面,则空条目将消失。
我猜想发生的事情是,即使记录正确保存到数据库并且持久存在,内存中暂时还有一个未接收ID的ember对象。
我有一种感觉这与mongo的_id
相比,而Ember通常期望(id
)我试图修复它覆盖RESTSerializer的primaryKey属性。
答案 0 :(得分:2)
经过几个小时的搜索,我发现了我的问题。
在我的节点服务器中......
newFriend.save(function(err,friend){
if (err) throw err;
res.writeHead(201, { 'Content-Type': 'application/json' });
res.write(JSON.stringify({"friend": newFriend.toObject()}));
res.end();
});
服务器必须以201响应,并将保存的对象包装在一个对象中,并将模型名称作为其键。