Я использую 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.(Обычно в этой ситуации это потому, что я что-то упускаю.)