很早之前我自定义错误页面都是重写Showexceptions的rescue_action_in_public和rescue_action_locally方法,但是这样做侵入性太强,今天偶尔看到了一个方法:rescue_from的方法,使用方法如下;
rescue_from(*klasses, &block)
它的第一个参数是出错的类型集合,可以指定多个错误类型或者出错信息,每一项都会调用klass.is_a?(klass);第二个参数是可以带一个block,我们可以使用with来指定:
出错处理是可以继承的,比如底下代码中,如果没有指定错误处理类型的话,就会调同rescue_from 'MyAppError::Base'的出错处理;
class ApplicationController < ActionController::Base
rescue_from ActiveRecord::InvalidForeignKey,ActiveRecord::StatementInvalid , :with => :show_fk_errors
rescue_from 'MyAppError::Base' do |exception|
render :xml => exception, :status => 500
end
protected
def show_fk_errors(exception)
render :template => "/errors/fk_error.html.erb",:object=>@exception = exception
end
end
PS:
在ruby文件中如果有中文出错的话可以在文件开头添加
#encoding: utf-8
。。。。。。
来指定文件编码,如果还出错的话请人工转码吧。。。
分享到:
相关推荐
Rails_3_Cheat_Sheets.pdf
复杂Rails系统架构优化
中文世界唯一一本Rails 4.0.0 + Ruby 2.0.0 的自學書籍
InspiniaAdmin 2.6.1 Rails_Full_Version
RestFul_Rails_Dev_v_0.1 RestFul_Rails_Dev_v_0.1
rails_apps_composer, 一个 gem,为 Rails 启动应用程序创建 Rails 应用程序模板 Rails 应用编辑器 Rails 应用程序编辑器 gem 安装一个 命令行 工具来从"食谱"的Collection 组装 Rails 应用程序。"你可以使用 rails_...
介绍插件,用于对记录进行排序(使用 gem)安装要启用rails_admin_acts_as_list,请将以下内容添加到您的Gemfile : gem 'rails_admin_acts_as_list'gem 'rails_admin' 重要提示: rails_admin_acts_as_list之前必须...
agile_web_development_with_rails_3rd_edition.9994652073.pdf
rails_semantic_logger, Rails 语义记录器用语义记录器替换 Rails 缺省记录器 Rails 语义记录器 语义记录器用语义记录器替代 Rails 缺省记录器。http://github.com/rocketjob/rails_semantic_logger文档有关完整文档...
Api-rails5_api_tutorial.zip,了解如何在michael hartl的rails 5教程上构建一个现代api立即在rails应用程序中构建一个api!(Rails 5版本),一个api可以被认为是多个软件设备之间通信的指导手册。例如,api可用于web...
Rails_Recipes_with_Source_Code
inspinia admin 2.5 中的 Rails_Full_Version
ruby_on_rails_3_入门教程(中文)
Rails Admin 全球化自定义操作。 这段代码未经测试,需要很好地重写,但可以工作。 将其视为原型。 用法: 将 gem 添加到您的打包器中: gem "rails_admin" gem "globalize3" gem "rails_admin_globalize" 将...
rails_best_practices rails_best_practices是用于检查Rails代码质量的代码度量工具。 它支持以下ORM / ODM: 活动记录 蒙古型 mongomapper 以及以下模板引擎: erb 哈姆 减肥 拉布尔 rails_best_practices...
应用Rails进行REST 开发 ,翻译自《RESTful Rails Development》
与devise_invitable一起使用的自定义rails_admin邀请操
与Rails类似, rescue_from块中的逻辑。 由祖先捕获异常,例如CustomError和rescue_from StandardError 。 每个架构配置。 没有依赖关系。用法定义GraphQL模式后: Schema = GraphQL :: Schema . define do query ...
Rails Admin内容生成器 使用创建内容的简单方法。 预习 示范 要求 依存关系 MiniMagick 支持的ORM ActiveRecord 支持的资产插件 CarrierWave 安装 使用rails <5和TurboLink <5进行测试 将此行添加到您的...
rails' 使用 : gem 'image_optim_rails'gem 'image_optim_pack'用法除非您设置config.assets.image_optim = false或config.assets.compress = false否则ImageOptim::Railtie将自动注册链轮预处理器(此后为部分...