当我在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
});
});
});
答案 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。