1

ストアでレコードがダーティになった後、別のクエリを使用してサーバーにデータを読み込もうとしています。更新された値はサーバーに送信され、関連するアクションはカスタムajax呼び出しを使用して実行され、サーバー側で処理されて、関連するすべてのレコードが更新されます。しかし、データが再度ロードされると、上記のエラーが発生します。考えられる理由は、ストア内のレコードがダーティであり、ストアをコミットせずにデータを再度ロードしようとしているため、エラーが発生している可能性があります。そこで、「Application.defaultTransaction.rollback()」を実行してみました。更新されたバケットからそれらのレコードを削除しますが、更新されたバケットの「キー」(オブジェクトタイプ)はまだ存在し、エラーが発生します。誰かがこれを手伝ってくれますか?

つまり、ストアを強制的にクリーンアップする方法、または作成/更新/インフライトバケット内のすべてのオブジェクトをクリーンアップバケットに移動する方法はありますか?

4

1 に答える 1

3

Application.store.get('defaultTransaction')。rollback()は、ストア内のダーティオブジェクトをすべて削除し、初期状態にします。store.rollback()にも未解決の問題があり、masterにマージしたときに代替となる可能性があります。 https://github.com/emberjs/data/pull/350#issuecomment-9578563

于 2012-10-19T04:22:41.093 に答える