sanchezzzhak
@sanchezzzhak
Ля ля ля...

Как вывести ошибки 500 в rails?

Все прекрасно работало и тут в один прекрасный момент приложение падает. Хочу выяснить почему приложуха падает ,но не хватает знаний в рельсах (((

В главном контроллере ошибки обрабатываются так

unless Rails.application.config.consider_all_requests_local
    rescue_from Exception, with: lambda { |exception| render_error 500, exception }
    rescue_from ActionController::RoutingError, ActionController::UnknownController, ::AbstractController::ActionNotFound, ActiveRecord::RecordNotFound, with: lambda { |exception| render_error 404, exception }
  end

  def render_error(status, exception)
    @is_in_error = true
    respond_to do |format|
     format.html { render template: "errors/error_#{status}", layout: 'layouts/application', status: status , exception: exception }
     format.all { render nothing: true, status: status }
    end
  end


Вьюхи для 500 ошибки не было, я создал пустую вьюху. Думал я увижу долгожданную ошибку почему любая страница 500 ошибка в логах, какой я был наивный, в логах стало пусто
Тогда я допилил вьюху по ангиологии с 404
Но так как я не разбираюсь в HAML
%p.wow='УПС... 500'
.text
  %p='Xьюстон у нас потери'
  %p.support
    Служба поддержки - 
    =link_to support_url, support_path , exception.message


Как вывести exception.message правильно?
  • Вопрос задан
  • 401 просмотр
Пригласить эксперта
Ответы на вопрос 1
@vsuhachev
Если цель - понять в чем ошибка, то смотрите логи (log/production.log внутри каталога приложения)

И еще для этого часто используют всякие newrelic, airbrake, rollbar, etc
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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