2012-01-16 10 views
0

私はember-dataを使ってsinatra json-appと話すコードを実装しました。メソッドfindAllは期待どおりに動作し、レコードのロードを行います。 また、DS.Store.createでupdateRecordメソッドを実装しましたが、実際に更新およびコミットする方法はわかりません。 、ここでのコード(簡潔にするために、私はjqueryの機能が含まれていませんでした)を参照してください:Emberのデータ - レコードの更新方法

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

しかし、私は次のエラーを取得する:http://pastie.org/3197008

を私は次のことを試してみましたTypeError: Object (subclass of DS.State) has no method 'enter'

レコードの更新方法は?あるいは、アップデートのために何かを実装することを忘れましたか?

ありがとうございます!

答えて

4

私は同じ問題がありました。私はこれがember-dataのバグだと思う。問題は、コードが特定のサブ状態を適切に初期化しておらず、それらのサブ状態が状態インスタンスではなく状態クラスであったことです。

私は、呼び出されるたびに新しいステートインスタンス(適切に作成されたサブ状態を持つ)を生成する関数を定義することで問題を解決しました。あなたは私の変更hereを見つけることができます。

私もember-dataの方に修正を依頼しましたので、この問題はすぐに消えてしまうことを願っています。あなたは議論のためにpull requestを見ることができます。

+0

ありがとう!このバグが私を狂ってしまう:-) – Mimay

+1

修正作業を確認できます。 +1 –

+0

ありがとう、ラファエル。 –

2

私は今朝同じ問題を抱えていました。 emberjs gitのバージョンを使用してください

+0

はい、最新のものを入手するにはember-dataを作成してビルドしなければなりません...彼らは完全なダウンロード/ビルドをしばらく投稿していません –

関連する問題