我正在使用老版本的rails 3.2。该列是string
,我需要验证该值是<= 0.1
。从documentation状态“默认情况下,它将匹配一个可选符号,后跟一个整数或浮点数”。值大于0.1
validates :min_amount, numericality: { greater_than_or_equal_to: 0.1 }
但即使我提出0.5
它说,这是不是0.1
我正在使用老版本的rails 3.2。该列是string
,我需要验证该值是<= 0.1
。从documentation状态“默认情况下,它将匹配一个可选符号,后跟一个整数或浮点数”。值大于0.1
validates :min_amount, numericality: { greater_than_or_equal_to: 0.1 }
但即使我提出0.5
它说,这是不是0.1
不大于或等于将字符串转换为浮点十进制与to_f
。或者让列自身成为浮点。
为什么列中输入字符串类型? –
你的问题是它是一个字符串类型。字符串类型将针对浮点评估为零。您需要创建一个将其转换为浮点的lambda,然后进行比较。 –
@Jordan这是一个很好的问题。这个应用程序有一些严重的问题,我们正试图解决后,将其接管。这是一个又一个的巨大头痛。 – covard