Ответ 1
Этот синтаксис будет выполнять проверку включений, позволяя nils:
validates :kind, :inclusion => { :in => ['a', 'b'] }, :allow_nil => true
Обычно поле "вид" должно быть пустым. но если он не пуст, значение должно быть включено в ['a', 'b']
validates_inclusion_of :kind, :in => ['a', 'b'], :allow_nil => true
Код не работает?
Этот синтаксис будет выполнять проверку включений, позволяя nils:
validates :kind, :inclusion => { :in => ['a', 'b'] }, :allow_nil => true
В Rails 5 вы можете использовать allow_blank: true
вне или внутри блока включения:
validates :kind, inclusion: { in: ['a', 'b'], allow_blank: true }
или
validates :kind, inclusion: { in: ['a', 'b'] }, allow_blank: true
tip: вы можете использовать in: %w(ab)
для текстовых значений
проверьте также: allow_blank => true