【发布时间】:2013-04-24 02:40:42
【问题描述】:
我有一个简单的 ember-data 模型(rev 12 -master 截至 2013 年 4 月 21 日)
App.Foo = DS.Model.extend({
name: DS.attr('string')
}).reopenClass({
add: function(json) {
//call create record but don't commit it
var store = DS.get('defaultStore');
store.createRecord(App.Foo, json);
}
});
在我的应用程序的某个时刻,我需要从商店中删除一个项目,所以我尝试了通常的方法
var foo = store.find(App.Foo, 1);
foo.deleteRecord();
但是因为记录没有完全加载(服务器端)我得到了错误
未捕获的错误:尝试处理事件
deleteRecordon 在 rootState.loading 状态下。调用 未定义
如果我打算以这种方式使用 ember-data,我该如何“伪造”提交或将记录标记为手动加载?
【问题讨论】:
-
你能做到吗
store.find(App.Foo, 1).then(function(data){data.deleteRecord();}); -
在第 11 版中,我在各处使用
deleteRecord来记录未提交的记录,顺便说一句。但我通常可以处理该记录的实例,而无需调用find -
正如我正在考虑的那样,
deleteRecord也应该像 Mehul 所说的那样工作。它对我有用。 -
@ToranBillups 这个fiddle 可能会有所帮助。我在
ContactsAddRoute中添加了类似的内容
标签: ember.js ember-data