0
我得到了幾個包含相同模塊的類,我想在代碼中的一個地方覆蓋模塊的其中一個方法。 如何做到這一點?在rails應用程序中重寫Ruby方法
我試圖
module [Module_name]
def [method_to_override]
並將其添加到軌道的自動加載路徑,但沒有成功
我得到了幾個包含相同模塊的類,我想在代碼中的一個地方覆蓋模塊的其中一個方法。 如何做到這一點?在rails應用程序中重寫Ruby方法
我試圖
module [Module_name]
def [method_to_override]
並將其添加到軌道的自動加載路徑,但沒有成功
如果您正在使用的模塊作爲一個mixin,你可以重新定義在類中的方法。調用時,在類級別定義的方法將優先。在這種情況下,作爲mixin的模塊只是表現爲超類。
如果您將該模塊用作命名空間,我不確定是否有辦法按照您嘗試的方式動態重新定義代碼。也許就地打開命名空間模塊幷包含該方法的新代碼將會起作用。我以前沒有嘗試過。
你確定你的文件需要被?你確定在創建原始模塊後需要它嗎?你所描述的應該起作用。 – 2012-11-01 00:48:28