2017-02-15 2 views
0

Я хочу отобразить страницы ошибок в моем приложении rails, следуя this post, но изменив его для работы с Heroku.Пользовательские страницы ошибок в Rails + Heroku

Post stack: Rails + Nginx + Capistrano.
My stack: Rails + Heroku.

my-app.herokuapp.com/assets/XXX.html URL работает, но мне нужно сделать my-app.herokuapp.com/XXX.html

Я думаю, что мне нужно изменить следующий код, взятый от должности, работать с Heroku!

root /myapp/current/public; 
error_page 404 /404.html; 
location /404.html { 
    internal; 
    root /myapp/current/public/assets; 
} 

ответ

0

Heroku полностью отличается от оригинального поста вы следующие:

Любой другая ошибка приложения будет служить 404, 422 и 500 из HTML файлов в публичном/ каталога в вашем приложение по умолчанию.

Для 503 ошибок, которые вы должны установить переменную окружения , что указывает на статическую страницу, которую требуется сервер при возникновении ошибки:

heroku config:set ERROR_PAGE_URL=//s3.amazonaws.com/<your_bucket>/your_error_page.html 

См https://devcenter.heroku.com/articles/error-pages#configure-your-application для других настроек.

+0

спасибо, но не пользовательская страница ошибки героя не отображается всякий раз, когда в приложении rails возникает исключение. Страница с ошибкой происходит при возникновении ошибки с помощью heroku. Я хочу обработать ошибки моего приложения rails. – edudepetris

+0

Вы правы, я обновил свой ответ, чтобы указать, как настраивать сообщения об ошибках для ошибок 404, 422 и 500. – Leito

0

Я сделал эту функцию несколько дней назад, и я нашел эту статью, которая наиболее ясно и полезно https://thepugautomatic.com/2014/08/404-with-rails-4/

Но если вы хотите обработать ошибку 500 или другие, вы должны добавить еще один строку в маршрутах и ​​в «CustomPublicExceptions» добавить условие к состоянию

+0

Спасибо, если я не смогу найти решение, я дам шанс на это. Но моя идея не использует Rails-материал (контроллер) для визуализации ошибок, если приложение падает – edudepetris