私はコードをもっと簡単かつ効率的にしたいと思っています。私のコードは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
(モデルでは)このように書きますと、私のコントローラは、このように書きます: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
ような何かを行うことによって開始することができます
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 –