我想使我的代码变得更加简单有效。我的代码像这样(在模型中)
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
,我的控制器像这样:
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
wou可以从做类似的事情
开始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
if params[:employee_type].present?
@employees = Employee.search(params[:employee_type])
elsif params[:search].present?
@employees = Employee.search(params[:search]).order(sort_column + " " + sort_direction).paginate(:per_page => 5, :page => params[:page])
else
@employees = Employee.all
end
end
end
现在您不会骑变量