Установить поведение для интерпретации ввода текстового поля для даты в Rails 3.1 - PullRequest
1 голос
/ 25 января 2012

Я использую Rails 3.1.1 и пытаюсь правильно интерпретировать даты, введенные пользователем при вводе текста.Поскольку это приложение для США, я хочу, чтобы пользователи могли вводить дату% m /% d /% y.

Например, если пользователь вводит "1/4/2010" вполе birth_date, я бы хотел, чтобы это было записано в БД как 4 января 2010 года.

Существует ответ , который, кажется, покрывает его, но кажется сложным.Должен быть более чистый путь.

Я попытался переопределить метод получения в моей модели, но безрезультатно:

def birth_date=(date)
  @birth_date = Time.strptime(date,"%m/%d/%y").to_date
end

Я также изменил свой environment.rb, включив в него:

Date::DATE_FORMATS.merge!(:default => "%m/%d/%Y")

Но, похоже, это не обрабатывает входящую интерпретацию, а только исходящее форматирование.

Мне показалось бы безумным, что эта довольно ключевая функция CRUD не включена в Rails.(Обычно в этой ситуации это потому, что я что-то упускаю.)

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