我目前正在开发评估课程。该课程有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
答案 0 :(得分:3)
您可以设置包含验证并在步骤中使用红宝石范围,以减少对值数组的硬编码https://apidock.com/rails/ActiveModel/Validations/HelperMethods/validates_inclusion_of
validates_inclusion_of :technique, in: (1..5).step(0.5)