我有一张表格,我必须验证百分比的范围。
如果介于0-100之间则应该是好的
然而,它是作为一个100%'而来的。字符串,但以数字1.0 保存到数据库所以我不能
validates_inclusion_of :number, :in => 1..10
因为技术上不是数字
我想验证用户输入数字0-100作为百分比
答案 0 :(得分:0)
我认为你仍然应该验证数字和字段的包含,所以尝试在before_validate
中进行转换。
before_validate :convert_number_field
private
def convert_number_field
return unless self.number.is_a? String
self.number = number.match(/\d+\.*\d*/).try(:to_f)
end