Ember.js 如何删除从未在后端提交的记录?

Ember.js 如何删除从未在后端提交的记录?,ember.js,ember-data,Ember.js,Ember Data,我有一个简单的余烬数据模型(版本12-2013年4月21日的主版本) 在我的应用程序中的某个时候,我需要从商店中删除一个项目,所以我尝试了通常的方法 var foo = store.find(App.Foo, 1); foo.deleteRecord(); 但是由于记录没有完全加载(服务器端),我得到了错误 未捕获错误:试图在上处理事件deleteRecord 处于rootState.loading状态时。打电话给 未定义 如果我计划以这种方式使用余烬数据,如何“伪造”提交或将记录标记为手动加

我有一个简单的余烬数据模型(版本12-2013年4月21日的主版本)

在我的应用程序中的某个时候,我需要从商店中删除一个项目,所以我尝试了通常的方法

var foo = store.find(App.Foo, 1);
foo.deleteRecord();
但是由于记录没有完全加载(服务器端),我得到了错误

未捕获错误:试图在上处理事件
deleteRecord
处于rootState.loading状态时。打电话给 未定义


如果我计划以这种方式使用余烬数据,如何“伪造”提交或将记录标记为手动加载?

如果我没有弄错,您可以这样做:

var foo = store.find(App.Foo, 1);
foo.transaction.rollback();

这样,记录将不再在提交时保存。

如果我没有弄错,您可以这样做:

var foo = store.find(App.Foo, 1);
foo.transaction.rollback();

这样,记录将不再在提交时保存。

您可以执行
store.find(App.Foo,1)然后(function(data){data.deleteRecord();})
在rev 11中,我到处使用
deleteRecord
来处理未提交的记录,顺便说一句。但是我通常可以处理该记录的实例,而不必调用
find
,正如我所想,
deleteRecord
也应该像Mehul所说的那样工作。这对我有用。@ToranBillups这可能会有帮助。我在ContactsAddRoute中添加了类似的东西,你能做什么
store.find(App.Foo,1).then(function(data){data.deleteRecord();})
在rev 11中,我到处使用
deleteRecord
来处理未提交的记录,顺便说一句。但是我通常可以处理该记录的实例,而不必调用
find
,正如我所想,
deleteRecord
也应该像Mehul所说的那样工作。这对我有用。@ToranBillups这可能会有帮助。我在
ContactsAddRoute
中添加了类似的内容,这不是删除记录,我相信它只是停止在客户端加载它。我想您不需要删除从未提交过的记录。记录在通过
存储加载时会被保留。查找
这不是删除记录,我相信它只是停止在客户端加载。我想,您不需要删除从未提交的记录。当通过
store加载记录时,记录会被持久化。find