使用Ember Data,我想知道如何删除记录,因为我知道它的id。
答案 0 :(得分:10)
请注意,在致电rec.deleteRecord()
后,您还需要致电rec.save()
以“提交”删除。
this.get('store').find('model', the_id_of_the_record).then(function(rec){
rec.deleteRecord();
rec.save();
});
通过在上面的JSBin(http://jsbin.com/iwiruw/458/edit)中添加记录,删除它,然后重新加载页面,您可以看到这是必要的。在页面重新加载后(或者如果单击“Run with JS”按钮),您将看到记录已“复活”。这是一个添加了rec.save()
的jsbin,你可以看到这些记录没有恢复生命。
答案 1 :(得分:9)
在Ember Data的最新版本(beta 4及更新版本)中,destroyRecord()
被引入,一次性deleteRecord()
和save()
,所以更短的方式做Jeremey Green建议是:
this.get('store').find('model', the_id_of_the_record).then(function(rec){
rec.destroyRecord();;
});
答案 2 :(得分:0)
请参阅Jeremy's answer,其中添加了关键rec.save()
您可以使用:
this.get('store').find('model', the_id_of_the_record).then(function(rec){
rec.deleteRecord();
});
或
this.store.find('model', the_id_of_the_record).then(function(rec){
rec.deleteRecord();
});