🖥
Rails – ModelのscopeとControllerのメソッドチェーンでAND検索をする例
class User < ApplicationRecord
scope :filter_name, ->(name) do
return self if name.blank?
where(name: name)
end
scope :filter_age, ->(age) do
return self if age.blank?
where(age: age)
end
end
class UserController < ApplicationController
def search
users = User
.all
.filter_name(user_params[:name])
.filter_age(user_params[:age])
render json: { users: users }
end
private
def user_params
params.permit(:name, :age, :keyword)
end
end
チャットメンバー募集
何か質問、悩み事、相談などあればLINEオープンチャットもご利用ください。
公開日時
2022-11-27
Discussion