Хорошо, у меня есть 3 поля выбора для выбора даты рождения.
У меня есть константы, настроенные в моей модели User, чтобы указать месяцы, годы и т. Д.
В любом случае я могу успешно проверить эти поля выбора отдельно.
Я хочу объединить: day,: month и: year, сохранить в: birthday и подтвердить всю дату как одну, чтобы я мог вернуть 1 ошибку, а не 3 отдельных.
Это также упростит сохранение подтвержденной даты в поле моего дня рождения в моей базе данных.
Часть моей формы
<td> <%= f.input :day, :required => false, :label => "Birthday: " , :prompt => "Day", :collection => User::DAYS %></td>
<td> <%= f.input :month, :label => false, :prompt => "Month", :collection => User::MONTHS %> </td>
<td> <%= f.input :year, :label => false, :prompt => "Year", :collection => User::YEAR_RANGE %> </td>
Часть модели пользователя
МЕСЯЦЫ = [«Январь», 1], [«Февраль», 2], [«Март», 3], [«Апрель», 4], [«Май», 5], [«Июнь», 6], [«Июль», 7], [«Август», 8], [«Сентябрь», 9], [«Октябрь», 10], [«Ноябрь», 11], [«Декабрь», 12] # закончить DAYS = 1..31 # закончить это START_YEAR = Time.now.year - 106 END_YEAR = Time.now.year YEAR_RANGE = START_YEAR..END_YEAR
class User ‹ActiveRecord :: Base attr_accessor: day,: month,: year
validates_presence_of: day,: message => 'В какой день месяца ты родился?'
validates_presence_of: month,: message => 'В каком месяце ты родился?'
validates_presence_of: year,: message => ' Какой у вас год рождения?конец