From 398fae82cb898c4db9f36b6bfb95506a8bbbed55 Mon Sep 17 00:00:00 2001 From: Pete Matsyburka Date: Wed, 6 Mar 2024 18:56:57 +0200 Subject: [PATCH] optimize api pagination --- app/controllers/api/api_base_controller.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/controllers/api/api_base_controller.rb b/app/controllers/api/api_base_controller.rb index b5375445..b4aa8ee1 100644 --- a/app/controllers/api/api_base_controller.rb +++ b/app/controllers/api/api_base_controller.rb @@ -39,8 +39,8 @@ module Api result = relation.order(id: :desc) .limit([params.fetch(:limit, DEFAULT_LIMIT).to_i, MAX_LIMIT].min) - result = result.where(relation.arel_table[:id].lt(params[:after])) if params[:after].present? - result = result.where(relation.arel_table[:id].gt(params[:before])) if params[:before].present? + result = result.where(id: ...params[:after].to_i) if params[:after].present? + result = result.where(id: (params[:before].to_i + 1)...) if params[:before].present? result end