2013-05-08 3 views
4

Я использую I18N с Redis магазином, и имею странное поведение после обновления Rails 3.2.13I18n странного поведение

[6] pry(main)> I18n.t("my_website_field") 
=> "M" 
[7] pry(main)> $redis.get("en.my_website_field") 
=> "\"My website\"" 

Я получаю только первые буквы переводов

ответ

1

к моему знанию Я считаю, что redis-store имеет проблемы с определенными версиями Rails (3.2.13 - один из них).

Поскольку мне было очень интересно, почему это произошло, я открыл журнал изменений Github и взглянул на логику, которую они изменили в обновлении 3.2.12 -> 3.2.13.

Основное изменение, которое я заметил, было цепочкой зависимостей в ActiveSupport для i18n. код был изменен ОТ

s.add_dependency('i18n', '~> 0.6') 

К

s.add_dependency('i18n', '= 0.6.1') 

Единственные другие изменения были (от изменений):

Добавить объем i18n в `distance_of_time_in_words

Так что, если бы мне пришлось принять обоснованное предположение, я бы сказал, что форсирование использования i18n до 0,6.1 создало некоторый конфликт с redis-store.

Примечание:Я буду продолжать изучать проблему с журналами изменений до i18n и публиковать, если у меня есть дополнительная информация по этому вопросу. Невозможно найти конкретную проблему в истории фиксации, и они не сохраняют журнал изменений (havent в течение 3 лет: /), но мне было бы интересно узнать, будет ли принудительное управление старой версией i18n функционировать должным образом.

Смежные вопросы