我正在尝试使用class eval在初始化程序中对gem进行monkeypatch。
gem中代码的结构如下:
module MyModule
class MyClass
def mymethod
end
end
end
但是,MyModule :: MyClass.class_eval不起作用。
错误是未初始化的常量MyModule :: MyClass。
我怎样才能修补那种方法?
答案 0 :(得分:1)
错误表示类MyModule::MyClass
不存在。它可能尚未加载。
在猴子修补之前,请确保明确要求库。
require 'my_module/my_class'
(确保调整路径)然后你可以修补它。