使用ember-data执行unloadAll时如何避免“loaded.created.uncommitted”错误?

时间:2014-02-16 02:08:54

标签: ember.js ember-data

我的应用程序创建了许多“配置”模型(即 - 它们仅在运行时存在于应用程序中,并且永远不会被持久化)。我按需加载这些,所以我的应用程序不断创建记录然后扔掉它们。

//create a record that will never be persisted
this.store.createRecord('foo', {name: 'wat'});

在过去,我只是清楚商店,但我意识到这实际上并没有“删除”任何东西。我决定使用unloadAll

this.store.unloadAll('foo');

...但我遇到了这个错误,因为我有这些“配置”模型

  

加载路由时出错:错误:尝试处理事件   在州内unloadRecord开启   root.loaded.created.uncommitted。       在新错误(本机)

如何避免此错误(仍然使用unloadAll,因为我需要从浏览器中真正删除它们)?

1 个答案:

答案 0 :(得分:3)

实际上这已经(应该)修复了我的PR,它在2天前被合并:

请参阅:https://github.com/emberjs/data/pull/1714

PR放松了禁止卸载所有脏记录的约束,仅禁止飞行记录。我相信经过一段时间和适当的思考,这种约束也可能被解除。

PR的其余部分,特别是在卸载模型,记录数组或销毁商店时正确清理。我相信这是正确清理的第一步。

我希望这个(合并的)公关解决你的问题,如果不是,请打开一个描述性的问题,然后压扁这个错误。

相关问题