Как сделать пагинацию в SailsJS?

Решил начать учить SailsJS сначала как и все смотрел видеокасты с уроками, более или менее освоившись стал сам писать код, вроде трудностей не возникало, но когда я решил написать простенький блог, я уперся в проблему с пагинацией, в доках по waterline есть метод paginate() который производит разбивку на страницы, или просто делает лимит постов, доки сырые, там всего пара предложений, и несколько строчек кода про сам метод, без реального использования.

User.find().paginate({page: 2, limit: 10});
Вроде, понятно, после поиска пользователей разбить по 10 элементов. Я решил сделать нечто похожее и в простейшем варианте получилось это
index: function (req, res, next) {
  	Blog.find(function (err, blog) {
  		if (err) return next(err);
  		res.view({
  			blog: blog
  		});
  	}).paginate();
  }


Вроде как описано, вызвал как метод, после find(), но при запуске выдает ошибку - метод не найден. В чем проблема?
  • Вопрос задан
  • 2776 просмотров
Решения вопроса 1
ghaiklor
@ghaiklor
NodeJS TechLead
Вы в корне неверно написали выборку. Нужно так:
getImages: function(req, res) {
        var page = req.param('page');
        LibraryImage
            .find()
            .paginate({
                page: page,
                limit: 20
            })
            .done(function(error, images) {
                if (error) {
                    res.serverError(error);
                } else {
                    res.json(images);
                }
            });
    }

paginate() должен срабатывать ДО вывода результата.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы