7

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

4

3 回答 3

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 ) 中添加一条记录,删除它,然后重新加载页面来看到这是必要的。您会在页面重新加载后看到记录“复活”(或者如果您单击“使用 JS 运行”按钮)。这是一个添加的 jsbin rec.save(),您可以在其中看到记录没有恢复活力。

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

于 2013-09-10T02:44:40.093 回答
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();;
});
于 2014-04-09T05:56:37.663 回答
0

请参考Jeremy 的回答,他在其中添加了关键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();
  });

在这个 jsbin 中查看它的实际效果

于 2013-09-10T01:20:08.243 回答