[英]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.