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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |