gpt4 book ai didi

ruby-on-rails - 如何处理rails3中的404/500等错误

转载 作者:行者123 更新时间:2023-12-03 22:40:23 25 4
gpt4 key购买 nike

嘿,我希望你能帮助我。

我试图找到一种方法将用户引导到我的公共(public)文件夹中的默认错误页面 404.html 和 500.html。

因此,当出现路由或 nomethod 错误时,应将其定向到那里。
我已经在我的应用程序 Controller 中尝试了一些东西,但是没有用。

非常感谢!!

最佳答案

在生产模式下运行时,Rails 会自动为您执行此操作。当您将应用程序上传到实时服务器时,Rails 会处理这些异常并以正确的标题状态呈现正确的错误页面。如果您想查看这些页面的外观(用于测试或其他用途),只需通过 http://localhost:3000/404.html 直接访问它们即可。

每当您在实时服务器上设置 Rails 应用程序时(让我们以 Apache 为例),您将站点根目录指定为 /public应用程序中的文件夹。然后,每当对该服务器地址发出请求时,Apache 首先查看该公共(public)文件夹并尝试提供静态 Assets (这是 [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)

关于ruby-on-rails - 如何处理rails3中的404/500等错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4640462/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com