Rails5で検索機能を実装してみた
以前からやってみたいと思っていた、検索機能を実装してみました。
環境
ruby 2.3.1
rails 5.1.5
概要
usersテーブル(カラムはname、emailだけ)に対し、nameであいまい検索。
コード
User.rb
class User < ApplicationRecord validates :name, presence: true validates :email, presence: true scope :search_by_name, ->(name) { where("name like '%#{name}%'") } end
users_controller.rb
class UsersController < ApplicationController def index @users = User.all if params[:name].present? @users = @users.search_by_name params[:name] end end //省略 private def user_params params.require(:user).permit(:name, :email) end end