:greater_than_or_equal_to в validates_numericality_of только частично работает в rails 3.1

Мы используем следующее, чтобы проверить, является ли stock_qty (целое число или число с плавающей запятой. Может быть нулем, но не nil) больше или равно нулю:

validates_numericality_of :stock_qty, :greater_than_or_equal_to => 0
validates_numericality_of :stock_qty, :less_than_or_equal_to => :in_qty, :if => Proc.new { |part| !part.in_qty.nil? }

:in_qty — столбец в модели детали. Эта проверка должна допускать положительное значение или 0 для :stock_qty. Проблема в том, что rspec терпит неудачу, если :stock_qty присваивается нулевое значение. Я заметил, что :less_than_or_equal_to допускает только less_than и не допускает equal_to. Есть ли способ проверить >= или <= в rails 3.1? Или что может пойти не так с нашим кодом проверки выше. Большое спасибо.

10
задан user938363 17 April 2012 в 21:34
поделиться