Форматирование даты в соответствии с настройками профиля пользователя - PullRequest
0 голосов
/ 22 августа 2011

Каждый пользователь нашего приложения может иметь разный формат даты и времени. Я понимаю, что формат даты зависит от языка пользователя и, возможно, часового пояса.

Я думаю, я могу попробовать запустить что-то вроде Date::DATE_FORMATS[:default] = "%m/%d/%Y" в ApplicationController. В этом случае Date.today.to_s вернет отформатированную дату свойства. Это будет потокобезопасным?

Другой вариант, который я рассматриваю, - это сохранение профилей в config/locales/en.yml с различными ключами, такими как en_US, en_GB, en_... и сохранение названия локали в профиле пользователя. В этом случае мне нужно будет использовать I18n.localize для форматирования даты. Можно ли вернуться к en, если в конкретном en_US не найден ключ?

1 Ответ

1 голос
/ 26 августа 2011

В случае Date::DATE_FORMATS или TIME::DATE_FORMATS вам, к сожалению, нужно будет позаботиться о том, чтобы сделать их использование безопасным для потоков.Однако делать это не должно быть слишком сложно.

В качестве ответа на ваш второй вопрос, я полагаю, вы обеспокоены откатами локали, а гем i18n имеет поддержку откатов локали .Эта функция легко включается с помощью:

I18n::Backend::Simple.include(I18n::Backend::Fallbacks)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...