我编写了一个模块 -JsonLog
- 它使用 Rails 提供的append_info_to_payload
钩子将一些自定义指标添加到日志记录检测中。我想在ActiveAdmin的所有控制器中包含/混合此模块。
我已经尝试了以下方法,并且它有效...
ActiveAdmin.register MyModel do
controller do
include JsonLog
end
end
。但这会迫使我在 ActiveAdmin 注册的每个模型/控制器中编写样板代码。我如何在一个地方执行此操作(并在此过程中确保永远不会错过此样板(?
不要害羞地阅读源代码。 有一个ActiveAdmin::BaseController
继承自InheritedResources::Base
,而又继承自您的ApplicationController
。如果您确实需要专门修改ActiveAdmin::BaseController
请在config/initializers/active_admin.rb
中尝试此操作:
ActiveAdmin::BaseController.class_eval do
include JsonLog
end