使用rails注册监听器

时间:2014-07-30 18:40:34

标签: ruby-on-rails ruby-on-rails-4 listener

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

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

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

1 个答案:

答案 0 :(得分:2)

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

我在这里引用10 & 11

的章节Active Support Instrumentation
  

使用带有块的ActiveSupport :: Notifications.subscribe来收听任何通知。

举一个简短的例子

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://8raystech.com/2011/02/07/how-to-deprecate-methods-and-constants-in-rails-3