Проверьте ActiveModel :: Validations :: NumericityValidator:
RailsAPI NumericityValidator
спецификация:
it {
subject.max_age = 10
subject.min_age = 20
subject.should be_invalid
subject.errors[:min_age].should include("must be less than or equal to #{subject.max_age}")
}
код:
validates :min_age, numericality: { greater_than: 0, less_than_or_equal_to: :max_age }
validates :max_age, numericality: { less_than_or_equal_to: 100 }
Я не знаю, хотите ли вы подтвердить свое присутствие или нет, но вы просто добавили бы это в качестве еще одного ключа к вашим проверкам, например,
validates :max_age, numericality: { less_than_or_equal_to: 100 }, presence: true