2014-10-30 54 views
0

我試圖用class eval在初始化程序中修改一個gem。模塊中的公開課

在創業板上市的代碼的結構如下:

module MyModule 
    class MyClass 
    def mymethod 
    end 
    end 
end 

然而,MyModule的:: MyClass.class_eval不工作。

錯誤是未初始化的常量MyModule :: MyClass。

我怎樣才能修補那個方法?

+1

這是什麼意思「它不工作」?你有沒有收到任何錯誤? – 2014-10-30 21:35:15

+0

我使用該信息更新了問題@SimoneCarletti – Tony 2014-10-30 21:36:58

+0

您的課程根本沒有加載到您的環境中。 – blelump 2014-10-30 21:38:30

回答

1

該錯誤表示類MyModule::MyClass不存在。它可能尚未加載。

在猴子修補它之前,請確保明確地要求庫。

require 'my_module/my_class' 

(確保調整路徑)然後你可以猴子修補它。