如何通过ID删除Ember数据记录

时间:2013-09-10 01:19:10

标签: ember.js ember-data

使用Ember Data,我想知道如何删除记录,因为我知道它的id。

3 个答案:

答案 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,你可以看到这些记录没有恢复生命。

http://jsbin.com/iwiruw/460/edit

答案 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();
  });

See it in action in this jsbin