我想讓我的代碼簡單高效。我的代碼是這樣(在MODEL)Ruby on Rails MySQL查詢混淆
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
@xdazz謝謝老兄! –
它看起來像你在控制器@employees中騎你的變量3次 – MZaragoza
@MZarogaza 啊我明白了。我只是RoR中的新成員:D –