2009-12-15 69 views
2

我有一個類繼承自類User。明確從基類模塊中的類繼承

例如

MyClass類<用戶

以我的代碼庫我有一個類用戶

類用戶

end

但是我也有一個插件,在模塊TheirModule :: User中提供了一個User類。這是我的應用程序綁定的插件,目前我無法將其刪除,但是這是我想要做的。

從控制檯我可以訪問MyClass,繼承是正確確定的。然而,在運行應用程序時,似乎有些困惑,我想從中繼承User類,因此繼承失敗。

有沒有辦法從我的User類明確繼承和防止與TheirModule混亂::用戶

回答

0
class MyUser < User 
end 

class MyClass < MyUser 
end 

這樣MyClass的將來自自己MYUSER類,並從TheirModule繼承::用戶。

1

如果您希望MyClass繼承自User類,則可以將User類放入模塊中,例如MyModule。

class MyClass < MyModule::User 
end 
+0

我不知道任何其他解決方案,而不是這一個.... – khelll 2009-12-15 10:01:51

+0

反正我有可以參考的默認模塊中的類定義而不是有把它轉移到明確一個新的模塊?基於這種變化的代碼將會非常脆弱,並且這種變化將會變得非常微不足道。 – lyallward 2009-12-15 23:02:41