diff --git a/app/models/owner.rb b/app/models/owner.rb index 2763dc80f..d348970f0 100644 --- a/app/models/owner.rb +++ b/app/models/owner.rb @@ -69,6 +69,8 @@ class Owner < ApplicationRecord has_many :applied_transfer_projects, dependent: :destroy scope :like, lambda { |keywords| + # 表情处理 + keywords = keywords.to_s.each_char.select { |c| c.bytes.first < 240 }.join('') sql = "CONCAT(lastname, firstname) LIKE :search OR nickname LIKE :search OR login LIKE :search " where(sql, :search => "%#{keywords.strip}%") unless keywords.blank? } diff --git a/app/models/user.rb b/app/models/user.rb index 193e6c68f..5e21212ab 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -185,6 +185,8 @@ class User < Owner # Groups and active users scope :active, lambda { where(status: [STATUS_ACTIVE, STATUS_EDIT_INFO]) } scope :like, lambda { |keywords| + # 表情处理 + keywords = keywords.to_s.each_char.select { |c| c.bytes.first < 240 }.join('') sql = "CONCAT(lastname, firstname) LIKE :search OR nickname LIKE :search OR login LIKE :search OR mail LIKE :search OR nickname LIKE :search" where(sql, :search => "%#{keywords.strip}%") unless keywords.blank? }