我正在开发一个非常简单的ember组件结构,并且我遇到了同样的错误:
Assertion Failed: You modified "pipeline.status" twice on <frontend@model:pipeline-instance::ember497:59636F5284D6CE0009000002> in a single render. It was rendered in "component:pipeline-manager" and modified in "component:pipeline-manager". This was unreliable and slow in Ember 1.x and is no longer supported. See https://github.com/emberjs/ember.js/issues/13948 for more details.
我已经删除了这个非常简单的代码的所有功能,并且我一直有断言错误。
pipeline-instance.js 模型:
export default DS.Model.extend({
status: DS.belongsTo('status')
});
pipeline-manager.js 为空。
pipeline-manager.hbs 模板:
<div class="pipelines--show">
<div class="row status">
Current status: {{await pipeline.status.title}}
</div>
</div>
的package.json :
"devDependencies": {
...
"ember-cli": "2.11.1",
"ember-cli-app-version": "^2.0.0",
...
}
似乎我设法摆脱错误的唯一方法是使用ember s --prod
答案 0 :(得分:0)
ember-data@2.14.0
中有known issue导致此问题。每当您在模板中引用相关模型的属性时,您都会看到有关失败断言的消息(例如上面的示例:pipeline.status.title
)。运行npm list ember-data
以确认您正在运行2.14.x
目前,我建议还原为ember-data@2.13.2
- 只需在package.json中指定2.13.2,如下所示:"ember-data": "2.13.2"
。当发布新版ember-cli
/ ember-data
来修复此问题时,您可以通过package.json
更新ember init
作为正常升级过程的一部分。
此问题的解决方案已经有Pull Request,所以我们希望它很快就能合并,以便我们升级。