ruby-on-rails – 我如何需要ActiveSupport的rescue_from方法?

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 我如何需要ActiveSupport的rescue_from方法?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在应用程序控制器中有这个代码
# Method to capture and handle all exceptions
rescue_from Exception do |ex|
  Rails.logger.debug ex
  do_stuff(ex)
end

我想把它移到一个模块然后:

class ApplicationController < ActionController::Base
  include 'module'
...

现在我的模块看起来像:

# lib/exception_mailer.rb
require 'action_mailer'
require 'active_support'

module ExceptionMailer

  # Method to capture and handle all exceptions
  rescue_from Exception do |ex|
...

我得到:ExceptionMailer:Module的未定义方法’rescue_from’

我用Google搜索了“我如何在模块中包含rescue_from?” – 我还有点失落.

解决方法

module Exceptionailer
  # http://api.rubyonrails.org/classes/ActiveSupport/Concern.html
  extend ActiveSupport::Concern

  included do
    rescue_from Exception do |ex|
      ...
    end
  end

end

猜你在找的Ruby相关文章