4

関連付けを変更してから元に戻すと (数回)、関連付けが失われます。

    var newCar = MyApp.CarModel.find('hummer');
    MyApp.Person.find('wycats').set('car', newCar);
    var oldCar = MyApp.CarModel.find('toyota');
    MyApp.Person.find('wycats').set('car', oldCar);

説明するのは簡単ではありませんが、このjsfiddleで非常に簡単に確認できます:

http://jsfiddle.net/Vz3E6/2/

この順序でボタンをクリックすると、関連付けが失われていることがわかります: 1、2、1、2

と を使用ember-latestしてember-data-latestいます。

編集: この質問のコピーを ember-data イシュー トラッカーの問題として作成しました: #465

4

1 に答える 1

1

これは、EmberDataの最新バージョンのバグです。Ember Dataは、子への変更が以前のコミットされていない変更を効果的に元に戻すことを検出すると、親をロールバックしますが、実際には子をロールバックできず、(内部の詳細が乱雑であるため)設定を終了します。代わりにnullに。

このテストで証明されているように、この行で修正するhasOneアソシエーションを導入するオープンプルリクエストがあります。

于 2012-11-17T06:15:38.613 に答える