新しいルーターとember data rev 11を使用しています。
サーバーからレコードのデータを再ロードするようにember-dataを強制する必要があります。 setInterval
関数でApp.MyRecord.find
(2)を使用すると、クライアントのローカルストアからデータが読み込まれます。
サーバーからデータを再ロードするにはどうすればよいですか?
I プッシュされたばかりrecord.reload()
to Ember Data。これにより、サーバーにデータをリロードし、新しいデータでレコードを更新するようアダプターに要求します。
reload()
を呼び出すことができるのは、レコードの読み込みが完了し、まだ変更されていない場合のみです。そうしないと、返されたデータが変更されたデータと競合します。今後、これらの種類の競合に対処するためのマージフックのサポートを追加し、より多くのレコード状態でreload()
を使用できるようにします。reload()
を呼び出してレコードを変更または保存すると、同じ理由でエラーが発生します。エラーは現在、_Attempted to handle event 'reloadRecord' on <Person:ember263:1> while in state rootState.loaded.updated.uncommitted.
_のようなものです。基本的に、これはレコードが「更新されていますがコミットされていない」状態にあり、「ロードおよび変更されていない」状態以外ではreload()
を呼び出すことができないことを意味します。