【问题标题】:EmberJS Data Assert in setRecordDataFor "Illegal set of identifier"setRecordDataFor "Illegal set of identifier" 中的 EmberJS 数据断言
【发布时间】:2022-02-23 22:56:45
【问题描述】:

使用 3.28 在我的一个模型上检索关系时,我遇到了 assert deep inside Ember Data。我可以很好地运行以下查询:

return this.store.findRecord('project', project_id)

但是当我运行后续

const monitors = await model.monitors;

在我的路由的 afterModel() 中,触发了这个断言。

我的模型看起来很标准:

export default class ProjectModel extends Model {
  @attr('string') name;
  @belongsTo('user') creator;
  @attr('date') created;
  @attr('date') changed;
  @hasMany('domain-monitor') monitors;
}

export default class DomainMonitorModel extends Model {
  @belongsTo('project') project;
  @hasMany('page-monitor') pages;
  @attr('string') protocol;
  @attr('string') domain;
  @attr('date') created;
  @attr('date') changed;
}

如果有人能指出哪里出了问题,我很高兴提交 MR 来改进此断言消息,希望将来能解决某人的问题。谢谢!

【问题讨论】:

  • 断言听起来好像相关资源的 id 或类型无效。如果您可以包含对获取请求的服务器响应,将会很有帮助。除非使用默认的JSONApiSerializer,否则还请包括序列化程序。
  • 您的浏览器中是否安装了 Ember Inspector?我有它导致这个错误(我不知道为什么)
  • 谢谢@HappyDude。我可以确认 Ember Inspector 确实会导致错误,因为禁用它会修复它。

标签: javascript ember.js json-api


【解决方案1】:

开发工具中的 Ember 检查器似乎有时会导致这种情况。禁用它(或者甚至在开发工具中点击离开标签并刷新)通常似乎可以解决我的问题。

【讨论】:

  • 我被困了一段时间,你的回答有效!谢谢@jeremy-moritz
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-10
  • 1970-01-01
  • 1970-01-01
  • 2016-02-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多