i18n отсутствует аргумент интерполяции - PullRequest
1 голос
/ 09 октября 2010

Я разработал небольшой сайт в рельсах 2.3.5, но когда я захотел развернуть его на сервере, у меня начались некоторые проблемы.Одним из таких вопросов является проблема интерполяции.Всякий раз, когда я хочу отформатировать дату, используя i18n, я получаю это исключение: ActionView::TemplateError (missing interpolation argument in "%{count} %B %Y, %H:%M" ({:object=>Fri, 08 Oct 2010 20:18:17 UTC +00:00} given)) on line #10 of app/views/contact/archive.html.erb:

Этот код выдает это исключение: <strong><%= t :created_at %>:</strong> <%=l contact.created_at, :format => :long %> <br />

Я смотрел в Google иобнаружил, что это как-то связано с обновлением плагина i18n (0.4.0), и эта версия действительно была установлена ​​на сервере.Любая идея, как я могу решить эту проблему?Потому что я нигде не мог найти ответ.

С уважением,

Daan

Ответы [ 2 ]

2 голосов
/ 18 октября 2010

если вы используете i18n 0.4.0, вам следует обновить Rails до версии 2.3.6+. Посмотрите на http://github.com/svenfuchs/i18n/issues/issue/20 для получения дополнительной информации.

1 голос
/ 29 мая 2011

Эта проблема возникает только тогда, когда вы хотите иметь день в форматированной строке. Если вы не можете обновить рельсы, единственный способ обойти это - создать свой собственный формат без получения дня и вставить день из объекта ruby ​​Time, вызвав метод .day для объекта Date. Так что в этом случае это будет, например:

contact.created_at.day.to_s + " " + l (contact.created_at, :format => "%b %H:%M" )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...