Ruby on rails Rails+;赫罗库
我想通过以下方式呈现rails应用程序上的错误页面,但将其更改为与Heroku一起使用 后堆栈:Rails+Nginx+Capistrano.Ruby on rails Rails+;赫罗库,ruby-on-rails,heroku,Ruby On Rails,Heroku,我想通过以下方式呈现rails应用程序上的错误页面,但将其更改为与Heroku一起使用 后堆栈:Rails+Nginx+Capistrano. 我的堆栈:Rails+Heroku my app.herokuapp.com/assets/XXX.htmlURL正在工作,但我需要呈现my app.herokuapp.com/XXX.html 我想我需要修改下面的代码,摘自帖子,以便与Heroku合作 root /myapp/current/public; error_page 404 /404.ht
我的堆栈: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;
}
Heroku与您所关注的原始帖子完全不同: 默认情况下,每发生一次错误,您的应用程序将从应用程序的public/directory中的html文件中提供404、422和500 对于503个错误,您需要设置
ERROR\u PAGE\u URL
环境变量,该变量在发生错误时指向您要服务器的静态页面:
heroku config:set ERROR_PAGE_URL=//s3.amazonaws.com/<your_bucket>/your_error_page.html
heroku config:set ERROR\u PAGE\u URL=//s3.amazonaws.com//your\u ERROR\u PAGE.html
请参阅以了解其他自定义设置。我几天前完成了该功能,我发现这篇文章最清晰、最有用
但是,如果您想处理500个错误或其他错误,您应该在routes和“CustomPublicExceptions”中添加一个字符串,并在status中添加条件,谢谢,但当rails应用程序中发生异常时,heroku的自定义错误页不会显示。当heroku发生错误时,会出现错误页面。我想处理我的rails应用程序的错误。你是对的,我已经更新了我的答案,包括如何自定义404、422和500错误的错误消息。谢谢你,如果我找不到解决方案,我会给你一个机会。但我的想法是,如果应用程序崩溃,不要使用Rails stuff(controller)来呈现错误