2015-02-23 2 views
1

У меня есть эта запись, которую я создал, модель которой существует только локально (не в 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(); 
});   

Но записи никогда не заполняется. Любая идея, что я делаю неправильно здесь?

ответ

0

мне удалось решить эту проблему с помощью filterby по результатам store.all

var records = this.store.all('vdpmodel'); 
var filteredRecords=records.filterBy("type","abc"); 
filteredRecords.forEach(function(data){ 
    data.deleteRecord(); 
}); 
+0

Я думаю, вы должны removeObject, потому что запись существует только локально и не требует синхронизации с серверной. deleteRecord приведет к вызову на сервер, чтобы «зафиксировать» изменения, поскольку он локальный, поэтому вызов не требуется. – kushdilip

+0

Вы должны использовать unloadRecord, как было упомянуто в предыдущем вопросе, http://stackoverflow.com/questions/28648200/delete-records-from-local-store-only-in-ember – Kingpin2k

+0

Я пробовал это с помощью uloadRecord & deleteRecord, оба, похоже, делают то же самое. – pseudoanime

Смежные вопросы