Railsvalidation:将输入限制为特定值

我正在寻找“Rails Way”来编写一个validation,将可接受的输入值限制在预定的列表中。

在我的情况下,我只想接受值“-5”,“ – 2”,“+ 2”,“+ 5”和零。 但是,我认为这是一个普遍的问题:如何在Rails模型中预定义可接受的条目值列表?

谢谢!

validates_inclusion_of应该有效。 例如:

validates_inclusion_of :attr, :in => [-5, -2, 2, 5], :allow_nil => true 

您希望将validates_inclusion_of与:in:allow_nil选项一起使用。

 validates_inclusion_of :field, :in => %w(-5 -2 2 5), :allow_nil => true 

您可能还想与validates_numericality_of一起使用