Rails:是在没有任何设置的情况下呈现的静态错误页面(500.html,404.html)

时间:2015-08-20 12:27:03

标签: ruby-on-rails ruby routes

我正在调试应用程序,我看到一个设置为

config.consider_all_requests_local = false

在config / environments / staging.rb中,500.html文件在公共目录中。

因此,如果标题中的状态为500,rails会自动显示500.html吗?或者我是否需要进行其他设置,以便在发生异常时显示500.html

我正在使用rails 3.1,任何有关此问题的帮助都将适用

2 个答案:

答案 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。

Action Controller Overview