Задать вопрос
premas
@premas
Full-stack web-developer

В продакшене не все строки обновляются при динамической смене локализации в Rails-приложении. Почему?

В продакшене юзаю связку NGINX+PASSENGER.
Локали меняю в ApplicationController так:
I18n.locale = current_user.locale rescue :en
Однако не все фразы переводятся в новоустановленную локаль, пока не сделать, например, touch tmp/restart.txt. Если подождать какое-то время, обновить страницу, то все схватывается. Проблема повторяется не всегда. Что это может быть? Nginx кэширует? Рельса глючит?
  • Вопрос задан
  • 195 просмотров
Подписаться 3 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Python-разработчик расширенный
    14 месяцев
    Далее
  • Skillbox
    Старт в DevOps: системное администрирование для начинающих
    4 месяца
    Далее
  • OTUS
    Инфраструктура высоконагруженных систем
    5 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
@vsuhachev
Насколько я могу судить ваш способ страхует вас от исключения, но не от "безошибочного" возврата из current_user.locale какого-нибудь кривого значения

Я бы написал как-то так
I18n.locale = ([current_user.try(:locale)] & [:en, :ru, :etc]).first || :en
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы