导轨发现,当一些PARAMS将是空白 [英] Rails Find when some params will be blank

查看:112
本文介绍了导轨发现,当一些PARAMS将是空白的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有两个字段搜索表单:X,Y

在执行搜索将查找符合所有条件的记录。然而,任何的两个条件可以保留为空被设置为所有。

我应该怎么设置PARAMS [:X],而params [:Y]。如果他们被设置为全

  PARAMS [:X =?除非PARAMS [:X]
PARAMS [:Y =?除非PARAMS [:Y]

用户= User.where([X =和Y =?,则params [:X],则params [:Y]])
 

解决方案

我会建议使用哈希建立你的条件:

 条件= {}
条件[:X] = PARAMS [:X],除非PARAMS [:X] .blank?
条件[:Y = PARAMS [:Y]除非PARAMS [:Y] .blank?

用户= User.find(:所有,:条件=>的条件)
 

I have a search form with two fields: x, y

When the search is performed it will look for records that match all conditions. However any of the two conditions can be set to 'All' by leaving it blank.

What should I set params[:x] and params[:y] to if they are set to all.

params[:x] = ? unless params[:x]
params[:y] = ? unless params[:y]

users = User.where(["x = ? AND y = ?", params[:x], params[:y]])

解决方案

I would suggest building up your conditions using a hash:

conditions = {}
conditions[:x] = params[:x] unless params[:x].blank?
conditions[:y] = params[:y] unless params[:y].blank?

users = User.find(:all, :conditions => conditions)

这篇关于导轨发现,当一些PARAMS将是空白的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆