Ruby 如何访问ActiveSupport::Notification instrument中监视的方法的参数?

Ruby 如何访问ActiveSupport::Notification instrument中监视的方法的参数?,ruby,ruby-on-rails-4,activesupport,Ruby,Ruby On Rails 4,Activesupport,我最近一直在玩弄ActiveSupport::Notifications,我不知道如何获取块中运行的方法的参数。让我举个例子 您设置了以下仪器 ActiveSupport::Notifications.instrument('render', extra: :information) do render text: 'Foo' end 您可以通过订阅事件来访问信息 ActiveSupport::Notifications.subscribe('render') do |name, star

我最近一直在玩弄ActiveSupport::Notifications,我不知道如何获取块中运行的方法的参数。让我举个例子

您设置了以下仪器

ActiveSupport::Notifications.instrument('render', extra: :information) do
  render text: 'Foo'
end
您可以通过订阅事件来访问信息

ActiveSupport::Notifications.subscribe('render') do |name, start, finish, id, payload|
  name    # => String, name of the event (such as 'render' from above)
  start   # => Time, when the instrumented block started execution
  finish  # => Time, when the instrumented block ended execution
  id      # => String, unique ID for this notification
  payload # => Hash, the payload
end
查看,我找不到任何可以提供呈现方法参数的内容-{text:'foo'}

我错过了什么?这可能吗?谢谢。

呈现文本:“Foo”不是参数;这是一个Rails方法,它将内容呈现回客户端

ActiveSupport::Notificaitons.instrument("render", text: "foo")
是将值提交给通知程序的方式

ActiveSupport::Notifications.subscribe("render") do |name, start, finish, id, payload|
  text = payload[:text]
end
是您在订阅服务器中引用它的方式