繁体   English   中英

使用ember-data创建记录时如何更新现有记录

[英]How to update an existing record when creating a record with ember-data

当我尝试创建模型实例时

record = this.store.createRecord('model', { /* whatever */ });
record.save();

而且我的API 更新了一个已经存在的后端记录,而不是创建一个新的。 API返回HTTP 200 [ok](也可以是202 [accepted]),而不是201 [created]。 如果已经存在相同记录的实例,那么在存储中不创建该记录的余烬处理方式是什么?

现在,如果我“创建”一条记录以将现有记录更新X次,那么最终我将在ember数据存储区中将同一条记录(具有相同的ID)重复X次。

使用createRecord时,是在告诉Ember将新记录添加到商店中。

如果要更新记录,则需要先将记录提取到商店中:

this.store.find('model', id).then(function(record) {
  record.set('property', 'value');
  record.save();
});

http://emberjs.com/api/data/classes/DS.Store.html#method_createRecord

根据您的特定需求,也许您正在寻找this.store.update(...): http ://emberjs.com/api/data/classes/DS.Store.html#method_update

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM