gpt4 book ai didi

ruby-on-rails - 如何向现有的通知负载添加属性?

转载 作者:行者123 更新时间:2023-12-04 14:15:24 24 4
gpt4 key购买 nike

在 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

订阅和上面的代码在 Rails 引擎中,所以这是我调用添加它的地方:
require 'append_exception_payload'

module Instrument
class Engine < ::Rails::Engine

ActiveSupport.on_load :action_controller do
include AppendExceptionPayload::ControllerRuntime
end

end
end

最佳答案

悬赏悬赏后,我自己找到了解决方案。 Rails 处理得非常干净。

基本上,append_info_to_payload方法正是为此而设计的。

因此,为了包含 session 信息和登录用户信息,我将其添加到我的 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

关于ruby-on-rails - 如何向现有的通知负载添加属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13633361/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com