如何接受精确的浮点值

时间:2018-10-19 13:47:49

标签: ruby-on-rails ruby

我目前正在开发评估课程。该课程有4个主题字段。例如:技术,并且仅接受范围内的值:

(1、1.5、2、2.5、3.0、3.5,... 5)

除了查看属性值是否在数组上之外,还有一种方法可以创建仅接受该值的验证。

def some_name
 a_values = [1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0, 4.5, 5.0]
 !a_values.includes?(self.technique)
end

1 个答案:

答案 0 :(得分:3)

您可以设置包含验证并在步骤中使用红宝石范围,以减少对值数组的硬编码https://apidock.com/rails/ActiveModel/Validations/HelperMethods/validates_inclusion_of

validates_inclusion_of :technique, in: (1..5).step(0.5)