用rails注册一个侦听器



在新的rails应用程序中,config/environments/production.rb文件包含以下配置选项:

# Send deprecation notices to registered listeners
config.active_support.deprecation = :notify

在这种情况下,什么是"注册侦听器",我将如何创建一个?

我不能提供一个广泛的答案,但是你也让我对这个话题感兴趣,所以这里有一些来自Rails指南的例子。

我在这里引用第10章&主动支持仪器

使用ActiveSupport这样::通知。订阅一个block来收听任何通知。

给出一个简短的例子

ActiveSupport::Notifications.subscribe "deprecation.rails" do |name, started, finished, unique_id, data|
  # your own custom stuff
  Rails.logger.info "#{name} Received!"
end

进一步阅读:

  1. 通知:http://railscasts.com/episodes/249-notifications-in-rails-3
  2. 用法:https://web.archive.org/web/20140420141413/http://8 raystech.com/2011/02/07/how-to-deprecate-methods-and-constants-in-rails-3

最新更新