加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 活动记录中的动态查找条件

发布时间:2020-12-17 03:33:34 所属栏目:百科 来源:网络整理
导读:我在rails中有一个索引动作,可以处理很多参数,例如: params[:first_name] # can be nil or first_nameparams[:age] # can be nil or age params[:country] # can be nil or country 当找到用户时,我想和所有不是零的条件.这给了我8个查找条件的排列. 我怎样
我在rails中有一个索引动作,可以处理很多参数,例如:

params[:first_name] # can be nil or first_name
params[:age]        # can be nil or age 
params[:country]    # can be nil or country

当找到用户时,我想和所有不是零的条件.这给了我8个查找条件的排列.

我怎样才能保持我的代码DRY和灵活性,而不是为了构建查找条件而得到一堆if语句.请记住,如果没有指定条件,我只想返回User.all

解决方法

怎么样的:

conditions = params.only(:first_name,:age,:country)
conditions = conditions.delete_if {|key,value| value.blank?}

if conditions.empty?
  User.all
else
  User.all(:conditions => conditions)
end

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读