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-latestember-data-latest

编辑:我在此处的 ember-data 问题跟踪器上创建了此问题的副本作为问题:#465

4

1 回答 1

1

这是最新版本的 Ember Data 中的一个错误。当 Ember Data 检测到对子节点的更改将有效地撤消较早的尚未提交的更改时,它会回滚父节点,但实际上无法回滚子节点并且(由于一些混乱的内部细节)最终设置它改为 null 。

我们有一个开放的拉取请求,引入了 hasOne 关联,恰好用这条线修复它,正如这个测试所证明的那样。

于 2012-11-17T06:15:38.613 回答