Rails: Как дать дату осведомлена о локале по умолчанию?
-
15-10-2019 - |
Вопрос
У меня есть локаль по умолчанию в environment.rb
в качестве de
(Немецкий).
Я также вижу все сообщения об ошибках на немецком языке, поэтому локаль поднимается сервером. Но когда я пытаюсь распечатать дату с strftime
Как следующее:
some_date.strftime('%B, %y')
Он печатается на английском (January, 11
), а не ожидаемый немецкий (Januar, 11
).
Как я могу распечатать дату в соответствии с локалью по умолчанию?
Решение
Использовать l
(псевдоним для localize
) метод вместо необработанного времени, например:
l(date, format: '%B %d, in the year %Y')
Видеть здесь Для получения дополнительной информации, надеюсь, это поможет.
Вы также можете определить «названные» форматы, пара из них (short
, long
) уже предопределены.
Другие советы
Вы также можете сделать его короче:
l(some_date, :format => '%d %B %Y')
В es.yml put:
es:
date:
formats:
default: "%d / %m / %Y"
В index.html.erb пусть:
<%= l somemodel.datefield %>
Не связан с StackOverflow