我正在调试应用程序,我看到一个设置为
config.consider_all_requests_local = false
在config / environments / staging.rb中,500.html文件在公共目录中。
因此,如果标题中的状态为500,rails会自动显示500.html吗?或者我是否需要进行其他设置,以便在发生异常时显示500.html
我正在使用rails 3.1,任何有关此问题的帮助都将适用
答案 0 :(得分:1)
是的,它会自动加载静态html文件public / 500.html和public / 404.html。
作为静态文件,这些文件不会通过通常的Rails管道。
对于其他消息代码,或者如果要使用Ruby代码和/或数据库访问等高级内容自定义错误消息,则需要执行以下操作:
ErrorsController
。# config/routes.rb
get "500", to "errors#error_500", code: "500"
# app/controllers/ErrorsController.rb
class ErrorsController < ApplicationController
def error_500
end
end
答案 1 :(得分:1)
是
14.1默认500和404模板
默认情况下,生产应用程序将呈现404或500错误消息。这些消息分别包含在公用文件夹中的静态HTML文件中,分别位于404.html和500.html中。您可以自定义这些文件以添加一些额外的信息和布局,但请记住它们是静态的;即你不能在其中使用RHTML或布局,只需简单的HTML。