dan*_*iel 7 error-handling ruby-on-rails ruby-on-rails-3
嘿,我希望你能帮助我.
我试图找到一种方法将用户定向到我公共文件夹中的默认错误页面404.html和500.html.
因此,当存在路由或nomethod错误时,应该将其指向.我已经在我的应用程序控制器中尝试了一些东西,但它没有用.
非常感谢!!
set*_*rgo 20
在生产模式下运行时,Rails会自动为您执行此操作.当您将应用程序上传到实时服务器时,Rails负责处理这些异常并使用正确的标头状态呈现正确的错误页面.如果您正在尝试查看这些页面的外观(用于测试或其他内容),只需直接访问它们即可http://localhost:3000/404.html
每当您在实时服务器上设置Rails应用程序时(让我们以Apache为例),您可以将站点根目录作为/public
应用程序中的文件夹.然后,每当向该服务器地址发出请求时,Apache首先查找该公用文件夹并尝试提供静态资产(这是一个可配置的选项[environment].rb
).如果找不到请求的页面,则通过Ruby堆栈转发请求.
在生产模式下,如果Rails遇到未处理的错误(即开始,救援),它会将错误全部抛到堆栈,然后告诉Apache(在我的示例中再次)呈现适当的错误.
以下是您在开发模式中看到的一些常见错误以及它们在生产模式下呈现的内容:
ActiveRecord::RecordNotFound => 404 (page not found)
nil.method => 500 (server error) unless you turn off whiny nils
ActionController::RoutingError => 404 (page not found)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8232 次 |
最近记录: |