ember-data の操作は驚くべきもので、箱から出してすぐにデータ処理の課題のほとんどに対応できます。ただし、答えを見つけようとして Google 検索を掘り下げている問題が 1 つあります。
サーバーに GET リクエストを送信して、レコードを検索するとしますApp.Fruit.find('banana');
。このレコードが存在しない場合、バックエンドはクライアントにステータス コード (404) を返します。
ここで、後でいつでも、「バナナ」レコードが他の誰かによって作成され、サーバー上のデータベースに存在する可能性があります。
ただし、この時点でさらに を呼び出してもApp.Fruit.find('banana');
、サーバーに新しい GET 要求は発行されません。
両方
banana = App.Fruit.find('banana');
を呼び出してbanana.get('transaction').rollback();
から、サーバーから 404 が返されたときに呼び出してみました。また、それが機能するかどうかを確認しようと
App.store.get('defaultTransaction').rollback();
しました。私はトランザクション状態を「削除済み」に設定しようとさえ試みました-そのように: -それが後で問題を新しいGETリクエストに
banana.get('stateManager').goToState('deleted');
することを望んでいます。App.Fruit.find('banana');
残念ながら、そうではありませんでした。
私の質問は、以前のリクエストでデータが返されなかった場合 (404)、ember-data に GET リクエストを再度発行させるにはどうすればよいですか?