在模块内部打开课程

时间:2014-10-30 21:33:28

标签: ruby-on-rails ruby

我正在尝试使用class eval在初始化程序中对gem进行monkeypatch。

gem中代码的结构如下:

module MyModule
   class MyClass
     def mymethod
     end
   end
end

但是,MyModule :: MyClass.class_eval不起作用。

错误是未初始化的常量MyModule :: MyClass。

我怎样才能修补那种方法?

1 个答案:

答案 0 :(得分:1)

错误表示类MyModule::MyClass不存在。它可能尚未加载。

在猴子修补之前,请确保明确要求库。

require 'my_module/my_class'

(确保调整路径)然后你可以修补它。