Ember.js createRecord,然后设置belongsTo将导致事务错误

Ember.js createRecord,然后设置belongsTo将导致事务错误,ember.js,ember-data,Ember.js,Ember Data,在将我的应用程序升级到Ember 1.8.1和Ember Data 1.0.0-beta.11之后,我在尝试设置两个模型之间的belongsTo关系时遇到了一个非常奇怪的错误: 试图在状态为root.loaded.updated.uncommitted时处理事件didCommit on 当我创建订单并尝试将当前行李分配给该订单时,就会出现这种情况。以下是订单控制器中的相关代码: assignBag: function() { var newOrder = this.get('model');

在将我的应用程序升级到Ember 1.8.1和Ember Data 1.0.0-beta.11之后,我在尝试设置两个模型之间的belongsTo关系时遇到了一个非常奇怪的错误:

试图在状态为root.loaded.updated.uncommitted时处理事件didCommit on

当我创建订单并尝试将当前行李分配给该订单时,就会出现这种情况。以下是订单控制器中的相关代码:

assignBag: function() {
  var newOrder = this.get('model');
  var shoppingBag = this.get('bag').objectAt('0');
  newOrder.set('bag', shoppingBag);
  this.get("controllers.order").send('saveOrder', newOrder);
  this.send('fireViewedCheckoutSegmentEvent');
}.on('init'),
有问题的行是newOrder.set'bag',shoppingBag;。根据错误的性质,您可能认为这是因为新创建的订单没有在数据库中持久化。但从路线中的代码可以看出,在控制器中设置模型之前,订单已保存:

assignBag: function() {
  var newOrder = this.get('model');
  var shoppingBag = this.get('bag').objectAt('0');
  newOrder.set('bag', shoppingBag);
  this.get("controllers.order").send('saveOrder', newOrder);
  this.send('fireViewedCheckoutSegmentEvent');
}.on('init'),
以下是订购路线:

包:

这件事我已经把头撞在墙上好几天了。有人知道发生了什么吗?我是否错误地设置了belongsTo关系?订单和行李型号都使用本地存储适配器


非常感谢。

那么在升级之前它还能工作吗?您从哪个版本升级?我假设新版本的变更日志有一些线索。升级到1.8.1时,我遇到的一个问题是没有指定async属性的关系的功能不一致。我会看看下面的一个事实,其中一个有async:true,另一个没有,然后看看它是否可以同时使用async或两者都不使用。@givanse I从ember data 1.0.0-beta.8升级,所以这是一个非常显著的跳跃。我遇到了另一个问题,无法更新。@LAW尝试了async:true和async:true的关系,但两者都未使用async,因此无效。
import DS from 'ember-data';

export default DS.Model.extend({
  bag: DS.belongsTo('bag', {async: true}),
});
import DS from 'ember-data';

export default DS.Model.extend({
  order: DS.belongsTo('order'),
});