Rails, использующие массивы с формами и включением валидации - PullRequest
4 голосов
/ 21 декабря 2011

Попытка получить несколько полезных советов по наилучшему подходу к использованию массивов для выбора формы, но с использованием того же массива для проверки включения для проверки.

Прямо сейчас у меня это есть, но построение массивов в элементах и ​​проверка, т. Е.

# Form
<%= f.select(:status, [['Live','live'], ['Paused', 'paused']]) %>

# Model
validates :status, :inclusion => { :in => %w(live paused) }

Я уверен, что был бы лучший способ хранить эти массивы и использовать их!

Спасибо за любые советы, которые вы можете предоставить.

1 Ответ

10 голосов
/ 21 декабря 2011

Вы можете добавить эти две константы в вашу модель и затем вызвать проверку:

VALID_STATES = ["live", "paused"]
SELECT_STATES = VALID_STATES.map { |s| [s.capitalize, s] }
validates :status, :inclusion => { :in => Model::VALID_STATES }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...