From 77c9b8805fed7f0b14f1671edeaf08c6a656cd89 Mon Sep 17 00:00:00 2001 From: "sylor_huang@126.com" Date: Thu, 23 Apr 2020 14:16:00 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=A1=B9=E7=9B=AE=E9=A6=96?= =?UTF-8?q?=E9=A1=B5=E7=9A=84=E7=AD=9B=E9=80=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/projects_controller.rb | 6 ++---- app/queries/projects/list_query.rb | 7 +++---- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index ab8426922..f33d42ba2 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -7,12 +7,10 @@ class ProjectsController < ApplicationController def index is_admin = current_user && current_user&.admin? - scope = Projects::ListQuery.call(params.merge(is_admin: is_admin, user_id: current_user.try(:id))) - scope_ids = scope.pluck(:id) - @total_count = scope_ids.size - @projects = paginate(Project.where(id: scope_ids)) + @total_count = scope.size + @projects = paginate(scope) end def create diff --git a/app/queries/projects/list_query.rb b/app/queries/projects/list_query.rb index 27efb6835..aa4d679fe 100644 --- a/app/queries/projects/list_query.rb +++ b/app/queries/projects/list_query.rb @@ -21,12 +21,11 @@ class Projects::ListQuery < ApplicationQuery .with_project_type(params[:project_type]) .with_project_category(params[:category_id]) .with_project_language(params[:language_id]) - scope = scope.no_anomory_projects.distinct + scope_ids = scope.no_anomory_projects.distinct.pluck(:id) + scope = projects.where(id: scope_ids) sort = params[:sort_by] || "updated_on" sort_direction = params[:sort_direction] || "desc" - scope = scope.order("projects.#{sort} #{sort_direction}") - scope - # custom_sort(scope, params[:sort_by], params[:sort_direction]) + custom_sort(scope, "projects.#{sort}", sort_direction) end end