我有一个带有name="test"
. 当我输入一个值时,我的 params 哈希包含该值:
params[:test] => "value"
但是,如果我不输入值,我的 params 散列包含一个空字符串:
params[:test] => ""
我的问题是,我如何判断用户是手动输入了一个空字符串还是只是忽略/根本没有触摸该字段?
更新 好吧,让我解释一下真正的问题,也许我没有很好地解释自己。我在一个页面上有一堆搜索字段,我需要根据它们进行搜索。这就是我现在正在做的事情:
conditions = {}
conditions[:artist_name] = s_artist_name if s_artist_name && !s_artist_name.empty?
conditions[:city] = s_city if s_city && !s_city.empty?
我必须先检查它是否是nil
,然后检查它是否是emtpty?
。这对我来说看起来不太好,我不知道......对于这么简单的任务来说工作量太大了。我肯定错过了什么 。或者这是如何完成的?我检查是nil
因为如果我打电话:
xyz.com/test
参数将为零。
如果我按下test
页面上的按钮而不在字段中输入任何内容,则将填充参数但使用空字符串。所以我也检查空字符串。