Ruby on Rails - 数组中的Validates_inclusion_of

时间:2014-07-29 17:44:46

标签: ruby-on-rails ruby

我尝试创建验证,但它只允许数组中的值。

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。这让我相信也许我需要一种不同类型的变量(实例,类,全局)。

只是单挑,我知道有一种方法可以验证范围内的数值,但这不是我想要的。我只是选择了数字,因为输入速度更快。

1 个答案:

答案 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