1

ember データを使用して属している関係を設定するのが困難です。実証するjsfiddleの例があります。私の最初の問題は、次のエラーが発生していたことです。

Uncaught Error: <DS.StateManager:ember5035> could not respond to event loadedData in state rootState.loaded.updated.inFlight.

これは、選択を使用してモデルの属している関係を更新したときにのみ発生しました。それは、Ember Data のビルトイン RestAdapter を使用していました。現在の例では、FixtureAdapter を使用していますが、変更を保持できないようです (フィドルをチェックアウトして本の名前を編集すると、元の名前に戻っていることがわかります)。「サーバーの応答」がアダプターによってシミュレートされるとすぐに元に戻るように見えますか? 適切なサーバー応答をシミュレートする方法はありますか?

また、ここでの問題は、データ ストア トランザクションの設定方法の結果ではないかと考えています。コントローラーで次のアプローチを使用しています。

App.EditBookController = Ember.ObjectController.extend({
  enterEditing: function() {
    this.transaction = App.router.get('store').transaction();
    this.transaction.add(this.get('content'));
  },
  updateRecord: function() {
    this.transaction.commit();
    this.transaction = null;
    App.router.transitionTo('books');
  }
});
4

1 に答える 1

1

OK、あなたは ember-data の最新バージョンを使用しています。これは素晴らしいことですが、私も自分自身を更新する必要があります。@tchak の助けを借りて、動作させることができます。

http://jsfiddle.net/Sly7/2XHZ2/45/

初めてフィクスチャをロードするために App.Book.find() を使用し、ライブ配列のように見える App.Book.all() を使用していることに気付くでしょう。したがって、物事は更新され続けます。

選択を機能させるには、さらに先に進む必要があります。

わかりました、私の最後の試み... http://jsfiddle.net/Sly7/2XHZ2/57/

最後の編集RESTSerializer を FixtureAdapter に追加することで機能しました。http://jsfiddle.net/Sly7/2XHZ2/61/を参照

于 2012-10-18T13:43:34.703 に答える