Вы должны написать собственный метод проверки для этого.
Вот как я бы это сделал:
validate :custom_inclusion
private
def custom_inclusion
range = (1..100)
begin
Kernel.float(field)
rescue ArgumentError
errors.add(:field,"is not a number") and return
end
if !(range.min < field.to_i && range.max > field.to_i)
errors.add(:field,"is not between #{range.min} and #{range.max}")
end
end
где field
- это атрибут модели, который вы хотите проверить.