I'd like to make my code much simply and efficient. My code goes like this (in MODEL)
class Employee < ApplicationRecord
mount_uploader :image, AvatarUploader
def self.search(search)
if search
where(('(name LIKE ? OR name = ?) AND (employee_type = "SE" OR employee_type = "OP")'), "%#{search}%", "")
else
unscoped
end
end
end
and my controller goes like this:
class EmployeesController < ApplicationController
before_action :set_employee, only: [:show, :edit, :update, :destroy]
# GET /employees
# GET /employees.json
helper_method :sort_column, :sort_direction
def index
@employees = Employee.all
@employees = Employee.search(params[:employee_type])
@employees = Employee.search(params[:search]).order(sort_column + " " + sort_direction).paginate(:per_page => 5, :page => params[:page])
end
end