检索最后一个& Ember.js与模特的倒数第二

时间:2014-05-15 12:47:41

标签: javascript ember.js ember-data

我正在处理文本编辑器。我希望用户能够处理最新的草稿,同时让审核的是倒数第二个草稿。

我尝试了以下内容:

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

1 个答案:

答案 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); 
  }
});