From c2aab96494df3a993846053cb5639fcb77f9d556 Mon Sep 17 00:00:00 2001 From: mcmac Date: Thu, 22 Feb 2018 14:28:22 +0000 Subject: [PATCH] Pagination complete --- .idea/workspace.xml | 19 ++++++++----------- app/controllers/v1/articles_controller.rb | 7 ++++--- 2 files changed, 12 insertions(+), 14 deletions(-) diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 0e4666e..66bd7e5 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -2,11 +2,7 @@ - - - - @@ -38,8 +34,8 @@ - - + + @@ -337,15 +333,16 @@ - + - + @@ -354,7 +351,7 @@ - + @@ -714,8 +711,8 @@ - - + + diff --git a/app/controllers/v1/articles_controller.rb b/app/controllers/v1/articles_controller.rb index e441797..49e41e2 100644 --- a/app/controllers/v1/articles_controller.rb +++ b/app/controllers/v1/articles_controller.rb @@ -9,11 +9,12 @@ class V1::ArticlesController < ApplicationController @article = Article.all.order(created_at: :desc).paginate(page: current_page, per_page: 10) total_pages = (@article.count / posts_per_page).ceil + pagination = { - "current_page": current_page, + "current_page": current_page.to_i == 0 ? 1 : current_page, "last_page": total_pages, - "next_page": "/articles?page=#{(current_page.to_i + 1).to_s}", - "prev_page": "/articles?page=#{(current_page.to_i - 1).to_s}" + "next_page": "#{current_page.to_i < total_pages.to_i ? (current_page.to_i+1) : (current_page)}", + "prev_page": "#{current_page.to_i > 1 ? (current_page.to_i-1) : (current_page)}" } json_response({articles: @article.as_json(include: [:user]), pagination: pagination}) end