Ember:记录保存到DB但ID未发送到Ember实例Object

时间:2014-10-14 16:13:02

标签: node.js mongodb ember.js mongoose

我有一个奇怪的问题。我在节点中编写了一个REST api来处理来自Ember的请求。

可以使用GET检索数据并使用POST保存。但是当创建新记录并且我重定向到显示新保存记录的页面时,其路径中的ID显示为“null”。如果我返回显示整个集合的页面,则新记录将重复显示;一个在其路径中具有正确的ID,另一个具有“null”。如果我重置页面,则空条目将消失。

我猜想发生的事情是,即使记录正确保存到数据库并且持久存在,内存中暂时还有一个未接收ID的ember对象。

我有一种感觉这与mongo的_id相比,而Ember通常期望(id)我试图修复它覆盖RESTSerializer的primaryKey属性。

1 个答案:

答案 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响应,并将保存的对象包装在一个对象中,并将模型名称作为其键。