处理路径时出现Ember错误:必须使用Ember.set()

时间:2015-08-28 19:37:10

标签: javascript ember.js

我无法理解这个错误的原因是什么(EmberJS 2.0):

Error while processing route: articles.index Assertion Failed: You must use Ember.set() to set the `content` property (of <DS.RecordArray:ember379>) to ``. EmberError@https://narayna.zsw.iron/app/js/libs/ember-template-compiler.js:4473:15

我的路线如下:

App.ArticlesRoute = Ember.Route.extend({
  model: function() {
    return this.store.findAll('article').set('content', '');
  }
});

和模型如:

App.Article = DS.Model.extend({
  title: DS.attr('string'),
  body: DS.attr('string')
});

App.Article.FIXTURES = [{
  id: 1,
  title: "My article",
  body: "Some text"
}];

Сan有人帮助我吗?

2 个答案:

答案 0 :(得分:2)

不确定为什么要设置内容,但是您收到该错误的原因是因为findAll会返回一个承诺。

model: function() {
    return this.store.findAll('article').then( (article) => {
       article.set('content', '');
       return article;
    });
}

答案 1 :(得分:0)

我没有使用ember-cli和ember-template-compiller断言看起来像错误。当我在第1215行评论时,所有看起来都更好。