setRecordDataFor 中的 EmberJS 数据断言“标识符集非法”

sam*_*sam 10 javascript ember.js json-api

使用 3.28,在检索我的模型之一上的关系时,我在 Ember Data 深处触发了一个断言。我可以很好地运行以下查询:

return this.store.findRecord('project', project_id)
Run Code Online (Sandbox Code Playgroud)

但是当我运行后续的

const monitors = await model.monitors;
Run Code Online (Sandbox Code Playgroud)

在我的路由的 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;
}
Run Code Online (Sandbox Code Playgroud)

如果有人能指出问题出在哪里,我很乐意提交 MR 来改进此断言消息,希望将来能帮助某人摆脱困境。谢谢!

Jer*_*itz 15

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

  • 我被困了一段时间,你的回答有效!谢谢@jeremy-moritz (2认同)