我在应用程序控制器中有这个代码:
# 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