gpt4 book ai didi

mysql - Rails 4 - 执行高级搜索的最佳方式

转载 作者:行者123 更新时间:2023-11-30 22:42:56 26 4
gpt4 key购买 nike

在自定义高级搜索表单中,执行查询以过滤结果的最佳方式是什么?

class UsersController < ApplicationController

def index
@users = User.all
end

end

在许多情况下,我们有不同类型的数据,例如:

name 将是一个字符串,surname 将是一个字符串,age 将是一个整数

在我的具体情况下,我有一个表单,其中包含一些用户可以或不可以填写的过滤器。如何进行动态查询?

最佳答案

在你的 Controller 中这样做:

class UsersController < ApplicationController

def index
@users = User.search params[:filter]
end

end

然后在 User 模型中做:

class User < ActiveRecord::Base
def self.search(options = {})
users = User.all
users = users.where(name: options[:name] ) if options[:name].present?
users = users.where(first_name: options[:first_name] ) if options[:first_name].present?
users = users.where(last_name: options[:last_name] ) if options[:last_name].present?
users = users.where(age: options[:age] ) if options[:age].present?
users
end
end

关于mysql - Rails 4 - 执行高级搜索的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30616021/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com