Rails Validation: ограничить ввод определенными значениями - PullRequest
13 голосов
/ 19 января 2011

Я ищу "Rails Way", чтобы написать валидацию, которая ограничивает допустимые входные значения заранее определенным списком.

В моем случае я хочу принять только значения "-5", "-2 "," +2 "," +5 "и ноль.Тем не менее, я думаю, что это лучше всего в качестве общего вопроса: как вам заранее определить список допустимых значений записей в модели Rails?

Спасибо!

Ответы [ 3 ]

20 голосов
/ 19 января 2011

validates_inclusion_of должно работать.Например:

  validates_inclusion_of :attr, :in => [-5, -2, 2, 5], :allow_nil => true
11 голосов
/ 19 января 2011

Вы хотите использовать validates_inclusion_of с параметрами :in и :allow_nil.

validates_inclusion_of :field, :in => %w(-5 -2 2 5), :allow_nil => true

Возможно, вы также захотите использовать в сочетании с validates_numericity_of

0 голосов
/ 29 мая 2019

Рельсы 3 +

Современный способ сделать это заключается в следующем:

validates :field, inclusion: { in: [ -5, -2, 2, 5 ], allow_blank: true, message: "not an allowable number." }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...