Ruby on Rails с Redis, бэкэнд со значением ключа I18n - PullRequest
0 голосов
/ 23 июня 2011

У меня проблема с бэкэндом значения ключа I18n. После просмотра скринкаста Райана Бейтса http://railscasts.com/episodes/256-i18n-backends

Я пытаюсь сохранить свой I18n, используя redis, например:

  • язык: en
  • ключ: intro.label.title
  • значение: "Hello World"

но мой ключ меняется на introlabeltitle , даже мой журнал контроллера выглядит так: Параметры: {"commit" => "Submit", "authenticity_token" => "ZYoK5MMixIz9hiN8keOd9OTkKo6dBYluATYoyQDbmrY =", "utf8" => "✓", "value" => «Hello World», «locale» => «en», "ключ" => "intro.label.title"}

и внутри redis-cli мой ключ меняется на "en.intro \ x01label \ x01title"

вот мой инициализатор:

TRANSLATION_STORE = Redis.new
I18n.backend = I18n::Backend::Chain.new(I18n::Backend::KeyValue.new(TRANSLATION_STORE), I18n.backend)

и мой контроллер

I18n.backend.store_translations(params[:locale], {params[:key] => params[:value]}, :escape => false)

Спасибо и извините за мой плохой английский

Ответы [ 2 ]

0 голосов
/ 09 января 2012
I18n.backend.store_translations(params[:locale], {:intro => {:label => {:title => params[:value]}}}, :escape => false)
0 голосов
/ 24 августа 2011

Недавно я переносил решение I18n на основе Redis. Я создал небольшой скрипт, который я превратил в гем i18n_redis: http://github.com/amardaxini/i18n_redis

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...