2014-11-23 5 views
0

У меня есть следующий код на моем маршруте указателя. Как ограничить количество возвращенных записей? У меня есть this._super (контроллер, модель), установленный в setupController маршрута.Как ограничить количество записей, возвращенных с помощью this.store.find в маршруте

import Ember from 'ember'; 

export default Ember.Route.extend({ 
    model: function() { 
    return Ember.RSVP.hash({ 
     articles: this.store.find('article'), 
     categories: this.store.find('category', {limit: 3}) 
    }); 
    }, 
    setupController: function(controller, model) { 
    // No records are retrieved without this 
    this._super(controller, model); 
    } 
}); 

ответ

3

Это нормально. Я перечитал учебник Ember.js и понял, что limit - это всего лишь параметр для моего API; поэтому я установил его в свой контроллер Rails API и получил его работу.

def index 
    if params[:limit].present? 
     @articles = Article.limit(params[:limit]) 
    else 
     @articles = Article.all 
    end 
    render json: @articles 
    end 

Вы также можете дополнительно ограничить сохраненные записи с помощью slice в ember.js:

categories: this.store.find('category', {limit: 10}).then(function(result) { 
    return result.slice(0,3); 
}) 

Большое спасибо @locks на # ember.js IRC чат.

Смежные вопросы