1

我有一个带有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页面上的按钮而不在字段中输入任何内容,则将填充参数但使用空字符串。所以我也检查空字符串。

4

2 回答 2

2

检查

价值。现在?检查 nil 和空,如果 value 不是 nil 且不为空,则返回 true。
值.空白?检查 nil 和空,如果值为 nil 或空则返回 true。

于 2012-12-24T09:20:59.113 回答
0

也许这篇文章会帮助你 在 Ruby 中是否有更好的方法来检查字符串的 Nil 或 Length == 0?

有很多人们用来检查空值的方法,希望这会有所帮助。

于 2012-12-24T09:11:37.127 回答