javascript - 使用 Ember.js 从模型中检索最后一条和倒数第二条记录

标签 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;
  }
});

没有一个返回草稿。

我主要关心的是我只想检索一份草稿以便使用对象 Controller 。如果有任何建议,我将不胜感激。

编辑: 这就是问题所在。 每个文件都有很多草稿。用户应该有权访问给定文档的最新两个草稿。 我假设我不需要草稿的 EmberArrayController,因为只需要最后两个草稿,它们也应显示在两个不同的模板/组件/ View 中。 最让我困惑的是我应该把方法放在哪里返回,比如说,最后的草稿。 在 Rails 中,我将其作为 Draft 模型的类方法。 感谢到目前为止的帮助。

Github repo :https://github.com/den1k/whiteink/tree/master/ember

最佳答案

使用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); 
  }
});

关于javascript - 使用 Ember.js 从模型中检索最后一条和倒数第二条记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23678667/

相关文章:

ember.js - 删除操作不起作用

ruby-on-rails - 在 Ember.js 中使用 Rails 和设计

javascript - Ember.js - 获取 DOM 元素的模型数据

ember.js - 模型在 Controller 上返回 null

ember.js - 在哪里放置固定装置?

javascript - 使用 Mocha 混契约(Contract)步和异步测试

ember.js - Ember : Testing with Pavlov/QUnit produces TypeError: Object #<Object> has no method 'getHandler'

javascript - 可以将项目添加到队列的后面,旧的项目可以从队列的前面删除

javascript - JavaScript 中的自定义线性同余生成器

javascript - 如何关闭不同类中的 swipeabledrawer