【问题标题】:ember-data exception while record is "deleted.inFlight"记录为“deleted.inFlight”时的 ember-data 异常
【发布时间】:2013-09-21 13:32:28
【问题描述】:

我在调试删除记录时遇到的此错误时遇到问题。我有一个 CartItem 模型,用作购物车的一部分。

当我删除记录并保留更改时:

cartItem.deleteRecord()
cartItem.save()

在控制台中出现此错误:

在状态为 rootState.deleted.inFlight 时尝试处理 MyApp.CartItem:ember1606:null 上的事件 becomeError。未定义调用

我使用的是 Ember 1.0 和 ember-data 0.13。我一直在阅读 ember-data 源,我只想了解一些有关如何调试它的提示。

【问题讨论】:

  • 你能试试最新的 ember-data 吗?我认为这个问题现在已经解决了。
  • 我现在无法尝试使用最新的 ember-data,因为它连接到一个依赖于许多旧 ember 数据功能的大型应用程序。我确实尝试使用 ember-data 0.14 并看到了相同的行为。
  • 好的。所以第一个问题,服务器响应删除时的错误响应似乎很奇怪。我不知道你对 DELETE 有什么反应,但我认为它应该是一个 200 和一个空有效载荷。
  • 我也是这么想的——服务器在删除时出错。但实际上购物车项目已成功删除 - 服务器返回 200 且有效负载为空。
  • 如果您尝试使用存储或事务提交而不是调用 save 是否会发生相同的错误?另外,您确定在服务器响应之前记录上没有发生其他操作吗?

标签: ember.js ember-data


【解决方案1】:

我相当确定在旧版本的 Ember Data 中,您希望使用 cartItem.get('store').deletedRecord(cartItem) 而不是 cartItem.deletedRecord()cartItem.get('store').commit() 而不是 cartItem.save()

【讨论】:

  • 感谢您的建议,但在用 cartItem.get('store').deleteRecord(cartItem)cartItem.get('store').commit() 替换我的代码时遇到了同样的错误
  • 好吧,那我不知道你要告诉你什么。正如 sly7_7 在 cmets 中对您的问题所提到的,我认为升级到最新的 Ember 和 Ember Data 版本可能是您最好的选择。试图维护一个依赖于没有更新的“死”代码的应用程序总是会导致挫败感。如果您可以发布显示问题的 JSBin,我会尝试查看它。
猜你喜欢
  • 1970-01-01
  • 2013-04-16
  • 1970-01-01
  • 1970-01-01
  • 2014-05-06
  • 1970-01-01
  • 1970-01-01
  • 2015-11-03
  • 1970-01-01
相关资源
最近更新 更多