Ruby 如何访问ActiveSupport::Notification instrument中监视的方法的参数?
我最近一直在玩弄ActiveSupport::Notifications,我不知道如何获取块中运行的方法的参数。让我举个例子 您设置了以下仪器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.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
是您在订阅服务器中引用它的方式