修改搜索
This commit is contained in:
parent
0b1a7af108
commit
724c894e32
|
@ -9,8 +9,10 @@ class ProjectsController < ApplicationController
|
|||
is_admin = current_user && current_user&.admin?
|
||||
|
||||
scope = Projects::ListQuery.call(params.merge(is_admin: is_admin, user_id: current_user.try(:id)))
|
||||
@total_count = scope.size
|
||||
@projects = paginate(scope)
|
||||
|
||||
scope_ids = scope.pluck(:id)
|
||||
@total_count = scope_ids.size
|
||||
@projects = paginate(Project.where(id: scope_ids))
|
||||
end
|
||||
|
||||
def create
|
||||
|
|
|
@ -2,15 +2,9 @@ module Matchable
|
|||
extend ActiveSupport::Concern
|
||||
|
||||
included do
|
||||
# scope :like, lambda { |keywords|
|
||||
# joins(:repository).where(%w[ projects.name projects.identifier repositories.identifier ].map { |f| "LOWER(#{f}) LIKE :q" }.join(' OR '), q: "%#{keywords.split(" ").join('|')}%") unless keywords.blank?
|
||||
# }
|
||||
scope :like, lambda { |keywords|
|
||||
joins(:repository).where(%w[ projects.name projects.identifier repositories.identifier ].map { |f| "LOWER(#{f}) LIKE :q" }.join(' OR '), q: "%#{keywords.downcase}%") unless keywords.blank?
|
||||
joins(:repository).where(%w[ projects.name projects.identifier repositories.identifier ].map { |f| "LOWER(#{f}) LIKE :q" }.join(' OR '), q: "%#{keywords.split(" ").join('|')}%") unless keywords.blank?
|
||||
}
|
||||
# scope :like, lambda { |keywords|
|
||||
# joins(:repository).where("LOWER(projects.name) like ? or LOWER(projects.identifier) like ? or LOWER(repositories.identifier) like ?", "%#{keywords.downcase}","%#{keywords.downcase}","%#{keywords.downcase}") unless keywords.blank?
|
||||
# }
|
||||
scope :with_project_category, ->(category_id) { where(project_category_id: category_id) unless category_id.blank? }
|
||||
scope :with_project_language, ->(language_id) { where(project_language_id: language_id) unless language_id.blank? }
|
||||
scope :with_project_type, ->(project_type) { where(project_type: project_type) if Project.project_types.include?(project_type) }
|
||||
|
|
Loading…
Reference in New Issue