Car*_*ole 6 ruby-on-rails ruby-on-rails-3
在Rails通知中,我订阅了"process_action.action_controller",并希望向有效负载添加更多属性.我怎样才能做到这一点?
我尝试过使用append_info_to_payload,但这似乎什么也没做.
module AppendExceptionPayload
module ControllerRuntime
extend ActiveSupport::Concern
protected
def append_info_to_payload(payload)
super
payload[:happy] = "HAPPY"
end
end
end
Run Code Online (Sandbox Code Playgroud)
订阅和上面的代码在Rails引擎中,所以我在这里调用它来添加它:
require 'append_exception_payload'
module Instrument
class Engine < ::Rails::Engine
ActiveSupport.on_load :action_controller do
include AppendExceptionPayload::ControllerRuntime
end
end
end
Run Code Online (Sandbox Code Playgroud)
在提出赏金后,我自己找到了解决方案.Rails非常干净地处理这个问题.
基本上,该append_info_to_payload方法完全是为了这个.
因此,为了包含会话信息和signed_in用户信息,我将其添加到我的application_controller.rb:
def append_info_to_payload(payload)
super
payload[:session] = request.session_options[:id] rescue ""
payload[:user_id] = session[:user_id] rescue "unknown"
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2185 次 |
| 最近记录: |