Это произошло около 3 дней назад после обновления через веб-интерфейс. Сайту около 2 месяцев, на нём зарегистрировано около 500 пользователей, и до сих пор он работал без проблем.
Я пробовал перезапуск, затем пересборку, затем очистку Redis. Всё ещё получаю белый экран.
Что попробовать дальше? Запустить без плагинов? Удалить и восстановить из резервной копии?
Соответствующие логи:
rails/production_errors: пустой
rails/production:
Запрос GET "/" от 147.234.130.218 в 2024-07-21 08:38:13 +0000
Обработка ListController#unread как HTML
Рендеринг макета layouts/application.html.erb (Длительность: 114.3 мс | Выделения: 34494)
Завершено с ошибкой 500 Internal Server Error за 264 мс (ActiveRecord: 0.0 мс | Выделения: 88191)
До сих пор не знал об этом, спасибо, но проблема остаётся.Как я уже говорил, всё выглядит нормально, если я выхожу из системы (технически удаляю куки), но при входе происходит сбой.Признаюсь, у меня нет опыта работы с Rails и настройки более подробного ведения логов.
Что ж, для меня Rails — это… ну, больше, чем просто сложно.
Но ошибка 500 — это ошибка сервера. Велика вероятность, что она вызвана каким-то плагином, но также может быть следствием неправильной конфигурации. Безопасный режим может подсказать, что сломано, если проблема возникает на стороне пользователя. Однако если на сервере сломано что-то, что меняет функциональность, то безопасный режим бессилен.
Конечно, можно отключить все плагины и пересобрать систему, чтобы проверить, исправится ли ситуация, а затем постепенно выяснять, какой именно плагин виноват. Или хотя бы отключить все плагины, не разработанные Discourse, — но даже это не даёт полной уверенности, поскольку не все официальные плагины используются здесь.
Но это отнимает довольно много времени. Возможно, разумнее подождать, пока подключится кто-то, кто действительно разбирается в теме.
О боже… отсутствие перевода локали является причиной для возврата 500 ошибки?!
РЕДАКТИРОВАНО: Поскольку это стало отчетом об ошибке — я не думаю, что проблема в самих языковых файлах (поскольку копирование файлов *.en.yml в he.yml не помогло). Я предлагаю, чтобы такие проблемы хотя бы обрабатывались корректно и возвращались к английскому языку.
Судя по тому, что я прочитал, нет способа откатить git к последнему рабочему коммиту до этого сбоя? Если это прошло тесты, значит, похоже, нам нужно добавить новый тест. Этот коммит не сработает, если ваш сайт использует «неправильную» локаль. Как мне быстрее всего запустить сайт и как избежать этого в будущем?
Я не до конца уверен, что дело только в отсутствующем локали где-то. По этому скриншоту видно, что у вас также неверно настроены параметры MaxMind.
Мое предположение — что-то ещё сломано, и поэтому всё остальное тоже не работает. Я бы выполнил /.launcher rebuild app и попытался найти, появится ли что-то странное.
Нужно ли мне выполнить какие-либо команды, чтобы переопределить язык по умолчанию для моих пользователей? Потому что одного этого недостаточно, чтобы что-то изменилось.
Отлично. У меня это сработало. Тексты по-прежнему отображаются корректно (выравнивание справа налево), а интерфейс переведён на английский. Это немного неудобно, но вполне применимо.
Значит, я пройдусь по всем пользователям с помощью этого кода, а когда иврит снова заработает нормально, верну им все настройки обратно?