проверка даты рельсов с возрастом - PullRequest
4 голосов
/ 14 мая 2011

В моем приложении rails есть форма регистрации, включающая поле DOB.
Возраст пользователя не должен превышать 18 лет. Как я могу дать подтверждение для этого.

Формат моей записи: мм / дд / гг

Ответы [ 2 ]

12 голосов
/ 14 мая 2011

Синтаксис этого довольно забавный, вы можете сделать что-то вроде этого:

old_enough = ("10/23/2000".to_date + 18.years) < Date.today

Преврати свою строку в дату, добавь 18 лет и посмотри, будет ли она до или после сегодняшнего дня.

Если вы хотите поместить это в валидатор модели, этот Railscast может быть полезен: http://railscasts.com/episodes/211-validations-in-rails-3

8 голосов
/ 14 мая 2011

Вы можете сделать проверку самостоятельно. Преобразуйте строку в дату с to_date и убедитесь, что она меньше 18.years.ago.

Поместите эту проверку в метод вашей пользовательской модели, и пусть он вызовет что-то вроде errors.add :dob, 'must be older than 18', если не получится.

Тогда наверху вашей модели позвоните validates :dob_check

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...