Ruby on Rails 显示异常的错误页面

例子

如果您想向用户显示有意义的错误,而不是简单的“对不起,出了点问题”,Rails为此提供了一个不错的实用程序。

打开文件app/controllers/application_controller.rb,您应该找到以下内容:

class ApplicationController < ActionController::Base
  protect_from_forgery with: :exception
end

现在,我们可以添加rescue_from来从特定错误中恢复:

class ApplicationController < ActionController::Base
  protect_from_forgery with: :exception
  rescue_from ActiveRecord::RecordNotFound, with: :record_not_found

  private

  def record_not_found
    render html: "Record <strong>not found</strong>", status: 404
  end
end

这里建议你不要从救援Exception或StandardError以其他方式Rails会无法显示错误的情况下有用的页面。