Ember.js 如何避免;“已加载.已创建.未提交”;使用余烬数据执行unloadAll时出错?

Ember.js 如何避免;“已加载.已创建.未提交”;使用余烬数据执行unloadAll时出错?,ember.js,ember-data,Ember.js,Ember Data,我的应用程序创建了很多“配置”模型(即,它们只在运行时存在于应用程序中,并且永远不会被持久化)。我按需加载这些文件,所以我的应用程序不断创建记录,然后将它们扔掉 //create a record that will never be persisted this.store.createRecord('foo', {name: 'wat'}); 过去我只是清理一下商店,但我意识到这实际上并没有“移除”任何东西。我决定改用unloadAll this.store.unloadAll('foo'

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

//create a record that will never be persisted
this.store.createRecord('foo', {name: 'wat'});
过去我只是清理一下商店,但我意识到这实际上并没有“移除”任何东西。我决定改用unloadAll

this.store.unloadAll('foo');
。。。但我遇到了这个错误,因为我有这些“配置”模型

加载路由时出错:错误:试图处理事件
在状态下解锁记录
打开 root.loaded.created.uncommitted。 新错误时(本机)

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

事实上,这已经(应该)与我的PR(2天前合并)修复:

见:

该PR放松了不允许卸载所有脏记录的限制,只允许机上记录。我相信,经过一段时间和适当的思考,这种限制也可能会解除

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


我希望这个(合并的)PR能解决您的问题,如果没有,请打开一个描述性的问题,让我们来消除这个bug。

太棒了!我不是大师级的,但我能够根据PR进行调整(非常感谢)