【问题标题】:Monkey patch ActiveAdmin class from engine来自引擎的猴子补丁 ActiveAdmin 类
【发布时间】:2023-04-01 19:11:01
【问题描述】:
我有一个 engine,它将安装在使用 Active Admin 的应用程序上...
安装 Active Admin 后,我需要运行我的引擎安装程序。这将创建一个文件猴子修补 Active Admin 类。
文件看起来像这样...
module ActiveAdmin
module Devise
# things I need to add...
end
end
那么,问题是:我需要把这个文件放在哪里,为什么?
【问题讨论】:
标签:
ruby-on-rails
rubygems
monkeypatching
【解决方案1】:
我使用了Railtie'sinitializer方法。
my_engine/lib/admin_invitable/engine.rb
module MyEngine
class Engine < ::Rails::Engine
isolate_namespace MyEngine
initializer "ativeadmin_invitable_patch" do |app|
require_relative "activeadmin_invitable_patch"
end
end
end
my_engine/lib/admin_invitable/activeadmin_invitable_patch.rb
module ActiveAdmin
module Devise
# bla bla
end
end