Вы будете использовать проверки для этого.Есть целое руководство по Rails по теме .В этом случае вам нужен конкретный помощник :inclusion
, например:
class Person < ActiveRecord::Base
validates :relationship_status,
:inclusion => { :in => [ 'Single', 'Married', 'Divorced', 'Other' ],
:message => "%{value} is not a valid relationship status" }
end
Редактировать август 2015: Начиная с Rails 4.1, выдля этого можно использовать метод класса enum
.Это требует, чтобы ваш столбец был целочисленным типом:
class Person < ActiveRecord::Base
enum relationship_status: [ :single, :married, :divorced, :other ]
end
Он также автоматически определяет некоторые удобные методы для вас:
p = Person.new(relationship_status: :married)
p.married? # => true
p.single? # => false
p.single!
p.single? # => true
Вы можете прочитать документацию для enum
здесь:http://api.rubyonrails.org/v4.1.0/classes/ActiveRecord/Enum.html