我尝试创建验证,但它只允许数组中的值。
validates_inclusion_of :valid_number, :in =>[1,2,3,4,5,6,7,8,9,10]
这有效,但我想要的是这样的
numbers = [1,2,3,4,5,6,7,8,9,10]
validates_inclusion_of :valid_number, :in => numbers
当我输入时,我总是得到一个NoMethodError。这让我相信也许我需要一种不同类型的变量(实例,类,全局)。
只是单挑,我知道有一种方法可以验证范围内的数值,但这不是我想要的。我只是选择了数字,因为输入速度更快。
答案 0 :(得分:5)
应该能够使它成为一个常数:
NUMBERS = (1..10).to_a
validates_inclusion_of :valid_number, :in => NUMBERS
这可能也有效,但我没有测试过:)
编辑不,不行。以下引发了错误。
self.numbers = (1..10).to_a
validates_inclusion_of :valid_number, :in => numbers