`

处理 Rails 的错误界面

阅读更多

1. 针对runtime error的通常处理

 

around_filter :rescue_record_not_found   
  
def rescue_record_not_found   
  begin   
    yield   
  rescue ActiveRecord::RecordNotFound   
    render :file => "#{RAILS_ROOT}/public/404.html"  
  end   
end  

 

 

2. 也可以这么处理

 

rescue_from ActiveRecord::RecordNotFound, with => :rescue_record_not_found   
  
def rescue_record_not_found   
  render :file => "#{RAILS_ROOT}/public/404.html"  
end  

 

 

3. 对于其他类型的错误,参考如下:

    DEFAULT_RESCUE_RESPONSE = :internal_server_error
    DEFAULT_RESCUE_RESPONSES = {
      'ActionController::RoutingError'             => :not_found,
      'ActionController::UnknownAction'            => :not_found,
      'ActiveRecord::RecordNotFound'               => :not_found,
      'ActiveRecord::StaleObjectError'             => :conflict,
      'ActiveRecord::RecordInvalid'                => :unprocessable_entity,
      'ActiveRecord::RecordNotSaved'               => :unprocessable_entity,
      'ActionController::MethodNotAllowed'         => :method_not_allowed,
      'ActionController::NotImplemented'           => :not_implemented,
      'ActionController::InvalidAuthenticityToken' => :unprocessable_entity
    }

    DEFAULT_RESCUE_TEMPLATE = 'diagnostics'
    DEFAULT_RESCUE_TEMPLATES = {
      'ActionView::MissingTemplate'       => 'missing_template',
      'ActionController::RoutingError'    => 'routing_error',
      'ActionController::UnknownAction'   => 'unknown_action',
      'ActionView::TemplateError'         => 'template_error'
    }

 

 

 

 

 

 

分享到:
评论

相关推荐

    rails_exception_handler:Ruby on Rails的异常处理

    这是Rails的灵活异常处理程序,适用于希望创建自己的错误跟踪服务的人员。 它面向经验丰富的Rails开发人员,这些开发人员不仅要管理几个Rails应用程序,而且还要管理多个应用程序。 如果您不熟悉Rails,请不要感到...

    foundation_form_builder:用于 ZURB Foundation 的 Rails FormBuilder

    不幸的是,将它们与 Rails 一起使用可能有点麻烦,因为 Foundation 希望每个表单输入都包含在一个<div> ,另一个用于错误。 此外,我想使用类的来干燥我的表单字段标记,但是为 Formtastic 编写新的渲染器并非易事...

    Meticulist:一个完整的单页生产力应用程序,它使用板,列表和卡的框架为项目和任务提供易于访问的可视结构

    用户可以通过具有动态错误处理功能的直观界面进行注册或登录,从而开始使用Meticulist。 密码使用进行保护,并且不会存储。 板子 Meticulist的核心高层要素是董事会。 董事会旨在包含有关特定项目的所有信息。 ...

    oh-react-mui:打开医院React材料用户界面

    该项目是通过引导的。... 使用AJAX请求获取数据与API后端集成节点Ruby on Rails 在开发中代理API请求配置代理后出现“无效的主机头”错误手动配置代理配置WebSocket代理在开发中使用HTTPS 在服务器上生成动态<met

    lykke-admin:销售跟踪应用程序的管理(Web)界面

    该项目是通过引导的。... 使用AJAX请求获取数据与API后端集成节点Ruby on Rails 在开发中代理API请求配置代理后出现“无效的主机头”错误手动配置代理配置WebSocket代理在开发中使用HTTPS 在服务器上生成动态<met

    Basechamp:所有成长中的企业都遇到相同的基本问题。 头发着火了,埋在电子邮件下,到处都是东西。 好消息? Basechamp解决了他们

    使用的技术: Ruby on Rails-服务器端MVC框架PotsgreSQL-数据库管理系统React-用于构建用户界面的JS库Ajax -jQuery库的一部分,用于发出异步请求Redux-为应用程序提供可预测状态的前端架构 Basechamp的未来发展方向...

    react-mui-login

    该项目是通过引导的。... 使用AJAX请求获取数据与API后端集成节点Ruby on Rails 在开发中代理API请求配置代理后出现“无效的主机头”错误手动配置代理配置WebSocket代理在开发中使用HTTPS 在服务器上

    Landing-page-Bike-Shop:在React + Bootstrap中创建一个登陆页面

    后处理CSS 添加CSS预处理器(Sass,Less等) 添加图像,字体和文件 使用public文件夹 更改HTML 在模块系统之外添加资产 何时使用public文件夹 使用全局变量 添加引导程序使用自定义主题 增加流量 添加路由器 添加...

    someones-pc:创建和管理交易字符串以在Pokemon Go中构建您的收藏

    后处理CSS 添加CSS预处理器(Sass,Less等) 添加图像,字体和文件 使用public文件夹 更改HTML 在模块系统之外添加资产 何时使用public文件夹 使用全局变量 添加引导程序使用自定义主题 增加流量 添加自定义环境...

    release-mgmt-ui:用angular2编写的发布管理Web UI

    与API后端集成节点Ruby on Rails 在开发中代理API请求配置代理后出现“无效的主机头”错误手动配置代理在开发中使用HTTPS 在服务器上生成动态<meta>标记预渲染为静态HTML文件将数据从服务器注入页面运行测试...

    spotify-react-clone:使用ReacJS和Redux克隆Spotify的网络播放器

    后处理CSS 添加CSS预处理器(Sass,Less等) 添加图像,字体和文件 使用public文件夹 更改HTML 在模块系统之外添加资产 何时使用public文件夹 使用全局变量 添加引导程序使用自定义主题 增加流量 添加自定义环境...

    adminForExbit:adminForExbit

    后处理CSS 添加CSS预处理器(Sass,Less等) 添加图像,字体和文件 使用public文件夹 更改HTML 在模块系统之外添加资产 何时使用public文件夹 使用全局变量 添加引导程序使用自定义主题 增加流量 添加自定义环境...

    jamesameyer:个人网站。 生产版本位于nebulr.github.io

    后处理CSS 添加CSS预处理器(Sass,Less等) 添加图像,字体和文件 使用public文件夹 更改HTML 在模块系统之外添加资产 何时使用public文件夹 使用全局变量 添加引导程序使用自定义主题 增加流量 添加自定义环境...

    UContacts:Udacity Contacts项目

    后处理CSS 添加CSS预处理器(Sass,Less等) 添加图像,字体和文件 使用public文件夹 更改HTML 在模块系统之外添加资产 何时使用public文件夹 使用全局变量 添加引导程序使用自定义主题 增加流量 添加自定义环境...

    landing-page-domotica

    与API后端集成节点Ruby on Rails 在开发中代理API请求配置代理后出现“无效的主机头”错误手动配置代理在开发中使用HTTPS 在服务器上生成动态<meta>标记预渲染为静态HTML文件将数据从服务器注入页面运行测试...

    react-contacts

    与API后端集成节点Ruby on Rails 在开发中代理API请求配置代理后出现“无效的主机头”错误手动配置代理在开发中使用HTTPS 在服务器上生成动态<meta>标记预渲染为静态HTML文件将数据从服务器注入页面运行测试...

    java开源包1

    以运行时异常的方式来管理错误的响应 使用泛型来做强类型编程 多协议扩展支持(REST, RPC, SOAP, etc) Rails3消息队列系统 Sidekiq Sidekiq 为 Rails 3 应用程序提供一个高效的消息队列系统。 Java文件上传组件 ...

    java开源包11

    以运行时异常的方式来管理错误的响应 使用泛型来做强类型编程 多协议扩展支持(REST, RPC, SOAP, etc) Rails3消息队列系统 Sidekiq Sidekiq 为 Rails 3 应用程序提供一个高效的消息队列系统。 Java文件上传组件 ...

    java开源包2

    以运行时异常的方式来管理错误的响应 使用泛型来做强类型编程 多协议扩展支持(REST, RPC, SOAP, etc) Rails3消息队列系统 Sidekiq Sidekiq 为 Rails 3 应用程序提供一个高效的消息队列系统。 Java文件上传组件 ...

    java开源包3

    以运行时异常的方式来管理错误的响应 使用泛型来做强类型编程 多协议扩展支持(REST, RPC, SOAP, etc) Rails3消息队列系统 Sidekiq Sidekiq 为 Rails 3 应用程序提供一个高效的消息队列系统。 Java文件上传组件 ...

Global site tag (gtag.js) - Google Analytics