2013-12-25 4 views
0

Я пытаюсь сохранить перевод по умолчанию, если в Rails отсутствует перевод.
После долгих борьбы я пришел с этим:Сохранять перевод по умолчанию, если отсутствует ключ

backend = I18n.backend 
if not backend.exists?(locale, key) 
    backend.store_translations(locale, {key => locale.to_s + "-" + key.to_s}) 
end 

Проблема заключается в том, что хранит значения по умолчанию, но он не находит их. Любая идея, что здесь не так?

+0

Какой код вы используете для поиска значений после их сохранения? –

+0

Я использую бэкэнд для ключевого значения и использую Redis с ним. Бэкэнд KeyValue пытается найти значения. Я просто использую 't' для перевода строк. –

ответ

0

После стольких головной боли, я нашел проблему:

Это потому, что точки в мои ключи преобразуются в их юникода характер при хранении, поэтому, они не нашли. Например, actions.save преобразуется в actions\u0001save.

Я не знаю, почему это происходит.

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