Я работаю над старой версией рельсов 3.2. Столбец - string
, и мне нужно проверить, что значение равно <= 0.1
. Из documentation говорится: «По умолчанию он будет соответствовать необязательному знаку, за которым следует целое число или число с плавающей запятой».Значение, превышающее 0,1
validates :min_amount, numericality: { greater_than_or_equal_to: 0.1 }
Но даже когда я представляю 0.5
это говорит, что это не больше или равно 0.1
Почему столбец строкового типа? –
Ваша проблема в том, что это строковый тип. Строковый тип будет вычисляться до нуля по отношению к плавающей точке. Вам нужно будет создать лямбду, которая преобразует ее в плавающую точку, а затем выполнит сравнение. –
@ Иордан, это хороший вопрос. У этого приложения есть некоторые серьезные проблемы, которые мы пытаемся решить после его принятия. Это была одна гигантская головная боль за другой. – covard