所以我刚刚想出了如何验证我的选择是否包含在内。然而,我有一个问题已经上升。如果其中一个值包含两个或多个单词,我就无法知道如何验证它。
举个例子:
validates_inclusion_of :possibility, :in => %w(yes maybe no)
它会完美地工作。然而,如果我有两个,三个字说:
validates_inclusion_of :job_possibility, :in => %w(yes please maybe not no thank you)
那是行不通的。我试过把它们加到括号里等等,但是我想出了办法。有人知道怎么做吗?
发布于 2014-07-21 16:08:13
您可以通过使用%W
而不是%w
来实现所需的结果。由于%W
支持字符串插值,所以您可以轻松地实现两个单词、三个单词等。
使用%W
:
validates_inclusion_of :job_possibility, :in => %W(yes please #{"maybe not"} no #{"thank you"})
-或-
您可以直接指定数组:
validates_inclusion_of :job_possibility, :in => ["yes", "please", "maybe not", "no", "thank you"]
例如:
在IRB,
> job_possibility = %W(yes please #{"maybe not"} no #{"thank you"})
## => ["yes", "please", "maybe not", "no", "thank you"]
> job_possibility = ["yes", "please", "maybe not", "no", "thank you"]
## => ["yes", "please", "maybe not", "no", "thank you"]
https://stackoverflow.com/questions/24869321
复制相似问题