У меня есть эта запись, которую я создал, модель которой существует только локально (не в api). модель выглядит следующим образом:Удалить запись, модель которой существует только локально Ember
TM.Vdpmodel=DS.Model.extend({
type:DS.attr(),
description:DS.attr(),
vds:DS.attr(),
});
Я использую эту модель, чтобы создать массив объектов (vdps) в формате JSON. Смотри ниже.
{"vdps":[{"type":"ssdfdfg","description":"fhfgh","vds":[{"type":"fghgh","example":"jghhgj"},{"type":"gjghj","example":"ghjghj"},{"type":"ghjghj","example":"ghjghj"}]}],"asset_usage":[]}
Я создаю их с помощью
TM.obj.vdp.pushObject(this.store.createRecord('vdpmodel',{
type:this.get("vdp11"),
description:this.get("vdp12"),
vds:TM.vdobj.vd.objectsAt([this.get("vdcount"),this.get("vdcount")+1,this.get("vdcount")+2])
}));
Эта запись хранится только локально. Теперь я хочу удалить запись из этого хранилища, у которой значение типа «abc». Как мне это сделать? Имея в виду, запись существует только локально на данный момент.
Я попытался следующие:
var records=this.store.filter('vdpmodel',function(data){
return data.get('type')==="abc";
});
records.forEach(function(record){
record.deleteRecord();
});
Но записи никогда не заполняется. Любая идея, что я делаю неправильно здесь?
Я думаю, вы должны removeObject, потому что запись существует только локально и не требует синхронизации с серверной. deleteRecord приведет к вызову на сервер, чтобы «зафиксировать» изменения, поскольку он локальный, поэтому вызов не требуется. – kushdilip
Вы должны использовать unloadRecord, как было упомянуто в предыдущем вопросе, http://stackoverflow.com/questions/28648200/delete-records-from-local-store-only-in-ember – Kingpin2k
Я пробовал это с помощью uloadRecord & deleteRecord, оба, похоже, делают то же самое. – pseudoanime