Похоже, вы смешиваете старые методы типа validates_x_y
с Rails 3.x validates
, который имеет гораздо более общее назначение.
validates_presence_of
относится к эпохе Rails 1.x и может только иметь дело с присутствием чего-либо. В качестве аналога есть validates_inclusion_of
, но реальный ответ - использовать вызов validates
, который можно настроить для проверки любого количества одновременно.
Обозначение для этого:
validates :subject,
inclusion: {
in: [
'Learn Ruby',
'Learn Ruby on Rails'
],
message: "Please select a valid Subject"
}
Я также добавил некоторое форматирование, чтобы сделать происходящее более понятным. Эти строки могут запутаться.
Если ваше введение использует эти методы validates_presence_of
старого стиля, оно устарело, и вам следует поискать более свежую версию или более точную ссылку. Как примечание, официальная документация Rails обычно является отличным местом для начала.