`

处理 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'
    }

 

 

 

 

 

 

分享到:
评论

相关推荐

    Ruby-RailsAdmin一个Rails引擎提供了一个易于使用的界面来管理您的数据

    3. 模型关联管理:RailsAdmin 支持处理多对一、一对一、多对多等复杂关联关系,可以方便地在管理界面中展示和操作关联数据。 4. 自定义视图:RailsAdmin 允许开发者通过简单的配置,定制列表视图、表单视图以及其他...

    railsAPI

    Rails提供了一些内建的错误处理机制,如 rescued exceptions 和 custom error classes。同时,模型中的validations可以帮助确保数据在被保存到数据库之前满足一定的条件。 测试是Rails开发流程的重要部分。Rails...

    使用Aptana+Rails开发Rails Web应用(中文)

    模型负责数据操作,视图用于展示用户界面,而控制器则作为两者之间的桥梁,处理用户请求并调用模型方法。在Aptana中,你可以直接在这些目录中编写相应的Ruby代码,IDE会提供代码补全和错误检查等功能。 例如,要在...

    Rails 101S

    - **深入实践CRUD功能**:详细讲解如何具体实现CRUD操作,包括数据验证、错误处理等高级特性。 - **MVC架构与RESTful概念**:介绍模型(Model)、视图(View)、控制器(Controller)三者之间的关系以及RESTful API的设计...

    Rails上的API:使用Rails构建REST APIAPIs on Rails: Building REST APIs with Rails

    5. **错误处理**:定义一套统一的错误处理策略,当请求无法正确处理时能够向客户端返回清晰的错误信息。 6. **性能优化**:考虑使用缓存、异步处理等方式提高API的响应速度和并发能力。 ### 四、示例:创建一个简单...

    ruby on rails 开发环境包(ruby1.8.7,rails2.2.3)

    Ruby 1.8.7引入了块参数、内建的JSON支持以及改进的错误处理机制等,使得开发者能够更高效地编写代码。 Rails 2.2.3则是Rails框架的一个旧版本,发布于2009年。尽管现在有更先进的Rails版本,但在当时,Rails 2.2.3...

    rails cookbook

    10. **错误和调试**:如何追踪和修复常见的Rails问题。 通过这本书,读者不仅可以学习到Rails的使用方法,还能了解到良好的开发实践和技巧,提升自己的Rails开发技能。同时,博客链接提供的额外资源可作为补充学习...

    rails应用--导航栏实例工程

    在Rails中,控制器负责处理业务逻辑并调用模型进行数据操作。我们可以创建一个新的页面并将其保存到数据库,或者检索已存在的页面来展示在导航栏中。 在视图(View)部分,我们将使用ERB(Embedded Ruby)语法来...

    Rails3 使用rake启动后台任务

    8. **错误处理与日志记录**: 在后台任务中,确保捕获并记录异常,以便于调试。同时,使用日志记录工具(如 Logger 或 Rails 的 logging 功能)记录任务的执行过程。 9. **测试后台任务**: 应该为后台任务编写单元...

    配置rails环境

    8. **配置开发环境**:除了基本的Rails设置,开发者还可能需要配置其他组件,如Webpacker(处理前端资产)、Devise(用户认证)、Bootstrap(界面样式)等。此外,设置合适的编辑器或IDE(如VSCode、Sublime Text或...

    rails_exception_handler:Ruby on Rails的异常处理

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

    敏捷Rails中文教程

    - **减少错误**:Rails通过一系列约定和内置工具减少了开发过程中的错误可能性。 - **易于集成**:与多种数据库和其他技术栈兼容,使得开发者可以灵活选择技术方案。 #### 二、Rails与敏捷开发 - **敏捷开发**:...

    Rails相关电子书汇总

    9. 错误处理、调试技巧和应用维护。 10. Rails的安全性考虑,如防止SQL注入、XSS攻击等。 总的来说,这份压缩包对于想要深入了解Rails开发,尤其是想要将Rails与Flex结合使用的人来说,是一份宝贵的学习资源。通过...

    ruby on rails实践

    Rails的Asset Pipeline处理JavaScript、CSS和图像等静态资源,支持Sass、CoffeeScript等预处理器,并实现压缩和合并以优化性能。 十一、Rails社区与生态系统 Rails拥有庞大的开发者社区和丰富的第三方gem库,如...

    flex on rails文档

    在实际应用中,**Flex 3** 负责前端的用户界面展示,而 **Rails 2** 则负责后端的数据处理和逻辑控制。通过这种方式,可以构建出高度动态且响应迅速的 Web 应用程序。 #### 五、构建 Flex + Rails 应用程序 本节将...

    Ruby on Rails入门例子

    在这个过程中,你还会接触到数据库设计、RESTful API、表单处理、错误处理和安全控制等多个方面,这些都是成为一名合格的Rails开发者所必备的知识。记得在学习过程中,多动手实践,不断调试和优化代码,这样你将更好...

    rails magazine issue 3

    这包括从零开始设置 Rails 环境,定义数据模型,创建数据库表结构,实现用户界面,以及添加必要的功能如代码片段的存储、检索和编辑。通过此教程,读者可以学习到 Rails 基础架构的搭建,以及如何利用 Rails 的内置...

    ruby on rails 搭建redmine

    9. **启动服务器**:使用`rails server`命令启动Rails服务器,通常默认端口为3000,访问`http://localhost:3000`查看Redmine界面。 10. **问题解决**:在“搭建问题解决方法”这个文件中,可能包含了在搭建过程中...

    rails登陆画面(原)

    提到“怎么将系统的替换为这个”,可能是指导用户如何使用这个定制的Rails环境,或者将这个特定的登录界面集成到他们现有的Rails项目中。 标签“源码”和“工具”提示我们,这里可能包含了一些源代码和辅助开发的...

    Ruby on Rails开发指南

    2. **Rails框架结构**:Rails采用MVC架构,其中Model负责数据处理和业务逻辑,View负责展示用户界面,Controller处理用户请求并协调Model和View。理解这三个组件的职责和交互方式对于构建高效、可维护的Rails应用至...

Global site tag (gtag.js) - Google Analytics