У меня проблема, которую я не могу понять.Я пытаюсь отформатировать дату, используя пользовательский формат, который я определил в моем файле en.yml:
en:
hello: "Hello world"
time:
formats:
history_table: "%m/%d/%Y %I:%M:%S %p %Z"
Это вызывается с помощью помощника l:
l version.created_at, :format => :history_table
По какой-то причине это показывает AM / PM в нижнем регистре, а не в верхнем, как должно быть в случае с% p.
Я немного поиграл в консоли, и кажется, что эторазница в поведении между функцией локализации и strftime:
ruby-1.9.2-p180 :043 > I18n.l user.updated_at, :format => "%m/%d/%Y %I:%M:%S %p %Z"
=> "03/23/2011 01:52:16 am UTC"
ruby-1.9.2-p180 :044 > user.updated_at.strftime("%m/%d/%Y %I:%M:%S %p %Z")
=> "03/23/2011 01:52:16 AM UTC"
Я что-то не так делаю?Это ошибка?Любое руководство очень ценится, так как мой лоб болит от удара о стену.
Редактировать: Это было решено (иш).Если посмотреть на локализацию активной поддержки по умолчанию, то нет различия между% p и% P.https://github.com/rails/rails/blob/master/activesupport/lib/active_support/locale/en.yml
Я переопределил локализацию в моем локальном файле en.yml, чтобы использовать прописные буквы.Однако мне бы очень хотелось, чтобы Rails поддерживал оба варианта.