2012-01-16 65 views
0

我確實實現了一些代碼,其中的ember-data與sinatra json-app對話。方法findAll按預期工作並加載記錄。 另外我確實在DS.Store.create中實現了updateRecord方法,但並不真正知道如何更新和提交。請在這裏看到的代碼(爲簡便起見,我沒有包括jQuery函數):http://pastie.org/3197008Ember數據 - 如何更新記錄

我試過如下:

a = Todos.records.objectAt(0).set("text", "should be so") 
a.store.commit() 

,但我得到了以下錯誤:TypeError: Object (subclass of DS.State) has no method 'enter'

我應該如何更新記錄?還是我忘了實施更新的東西?

在此先感謝!

回答

4

我有同樣的問題。我認爲這是一個燼數據的錯誤。問題是代碼沒有正確初始化某些子狀態,而這些子狀態不是狀態實例,而是狀態類。

我通過定義一個函數來解決問題,該函數每次調用時都會生成一個新的狀態實例(具有正確創建的子狀態)。你可以找到我的變化here

我還要求燼數據人拉我的修復程序,所以希望這個問題很快就會消失。您可以查看pull request進行討論。

+0

謝謝!這個bug讓我瘋狂:-) – Mimay 2012-01-17 19:42:53

+1

我可以確認你的修復工作。 +1 – 2012-01-24 00:16:49

+0

謝謝,拉斐爾。 – 2012-01-25 13:47:19

2

今天早上我有同樣的問題。使用emberjs git版本

+0

是的,你必須拉和建立燼數據,如果你想要最新的......他們還沒有發佈一個完整的下載/建立在一段時間 – 2012-04-06 16:41:08