我正在处理文本编辑器。我希望用户能够处理最新的草稿,同时让审核的是倒数第二个草稿。
我尝试了以下内容:
App.ReviewerRoute = Ember.Route.extend({
model: function() {
var allDrafts = this.store.all('draft');
var secondToLastDraft = allDrafts[allDrafts.length-2];
return secondToLastDraft;
}
});
然后我尝试了:
App.ReviewerRoute = Ember.Route.extend({
model: function() {
var allDrafts = this.store.all('draft');
var secondToLastDraft = this.store.find('draft',[allDrafts.length-2]);
return secondToLastDraft;
}
});
其中没有一个退回草案。
我主要担心的是我只想检索一个草稿以便使用对象控制器。我很感激任何建议。
编辑: 这就是问题所在。 每份文件都有很多草稿。用户应该可以访问给定文档的最新两个草稿。 我假设我不需要EmberArrayController用于草稿,因为只需要最后两个草稿,它们也应该显示在两个不同的模板/组件/视图中。 这对我来说最让我感到困惑的是,我会把方法归还给最后的草案。 在Rails中,我将它作为草图模型的类方法。 感谢您的帮助。
Github回购:https://github.com/den1k/whiteink/tree/master/ember
答案 0 :(得分:2)
使用objectAt
:
App.ReviewerRoute = Ember.Route.extend({
model: function() {
var allDrafts = this.store.all('draft');
var count = allDrafts.get('length');
return allDrafts.objectAt(count-2) || allDrafts.objectAt(count-1);
}
});