2014-02-16 67 views
4

我的應用程序創建了很多「配置」模型(即,它們只在運行時居住在應用程序中,並且不會永久保存)。我按需加載這些內容,因此我的應用程序不斷創建記錄,然後將它們扔掉。如何在使用ember-data執行unloadAll時避免「loaded.created.uncommitted」錯誤?

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

在過去,我只是做一個明確的商店,但我意識到這並不實際「刪除」任何東西。我已經決定使用unloadAll代替

this.store.unloadAll('foo'); 

...但我遇到了這個錯誤,因爲我有這些「配置」模式

Error while loading route: Error: Attempted to handle event unloadRecord on while in state root.loaded.created.uncommitted. at new Error (native)

我怎樣才能避免這個錯誤(同時仍使用unloadAll,因爲我需要真正從瀏覽器中刪除這些)?

回答

3

其實,這已經(應該)固定我的PR這是合併3天前:

見:https://github.com/emberjs/data/pull/1714

那PR鬆了不允許卸載所有髒記錄,只禁止飛行約束記錄。我認爲,經過一段時間和適當的考慮,這一限制也可能被解除。

PR的其餘部分,特別是在卸載模型,記錄陣列或銷燬商店時進行適當的清理。我確實認爲這是一個良好的第一次通過適當的清理。

我希望這個(合併的)PR能夠解決你的問題,如果不是的話請打開一個描述性的問題,並且讓它壓扁這個bug。

+0

太棒了!我不是主人,但我能夠根據公關進行調整(感謝一百萬) –

相關問題