Ember数据createRecord创建多个记录

时间:2016-11-05 19:46:14

标签: ember.js ember-data

当我在ember检查器中检查Data时,我看到多个记录一个id(int),一个没有id(null)。

使用ember 2.9.1

save: function(){
  var title = this.get('title');
  this.store.createRecord('post',{ title:title }).save();
  this.setProperties({ title:''});
  this.transitionToRoute('posts');
}

节点后端

router.post('/', function(req, res, next) {
  post.create({
    title: req.body.data.attributes.title
  }).then(function () {
    res.set('Content-Type','application/vnd.api+json');
    return res.send({
      "msg": "post created successfully",
      data:null
    });
  });
});

2 个答案:

答案 0 :(得分:0)

我很惊讶地看到数据存储中的帖子带有来自此操作的id。你应该返回(假设一个RestAdapter)

router.post('/', function(req, res, next) {
  post.create({
    title: req.body.data.attributes.title
  }).then(function (post) {
    res.set('Content-Type','application/vnd.api+json');
    return res.status(201).json(post);
  });
});

这将返回包含id的已创建帖子记录,而后者将相应地更新商店。

我怀疑null id来自当前保存,而id的记录来自之前的保存?

答案 1 :(得分:0)

return res.status(201).send({
  data:{
    type:'post',
    attributes:{
      id:post.id,
      name:post.title
    }
  }
});

以下代码正常运行。这是ember数据中已知的issue