Ruby on rails 如何在类中包含模块

Ruby on rails 如何在类中包含模块,ruby-on-rails,ruby,rubygems,include,autoload,Ruby On Rails,Ruby,Rubygems,Include,Autoload,my gem中的一个模块包含在另一个gem中的一个类中,该类由Rails应用程序中的自定义类扩展: class ClassInRailsApp < AnotherGem end 我的宝贝: module MyGem def my_method end end AnotherGem.send :include, MyGem 另一个宝石: class AnotherGem end Rails应用程序中的类: class ClassInRailsApp < Anoth

my gem中的一个模块包含在另一个gem中的一个类中,该类由Rails应用程序中的自定义类扩展:

class ClassInRailsApp < AnotherGem
end
我的宝贝:

module MyGem
    def my_method
    end
end
AnotherGem.send :include, MyGem
另一个宝石:

class AnotherGem
end
Rails应用程序中的类:

class ClassInRailsApp < AnotherGem
end
在扩展类之前,如何确保包含我的模块

编辑:


我试图在
ClassInRailsApp
中直接包含
MyGem
,但指定的实例方法仍然不可用。这个问题可能与此有关吗?

在您的思维中,您只是在调用一个方法,例如@object.my_方法。实际上,您正在调用类级方法,例如Object.my_方法,但将其定义为实例级方法。正确的方法是Object.new.my_方法,但是,不要这样做


要调用这样的方法,必须将其定义为类上的方法。请参阅,以便更好地理解。特别是关于如何通过模块定义类级方法的“常用习惯用法”一节

在您的思维中,您只是在调用一个方法,例如@object.my_方法。实际上,您正在调用类级方法,例如Object.my_方法,但将其定义为实例级方法。正确的方法是Object.new.my_方法,但是,不要这样做


要调用这样的方法,必须将其定义为类上的方法。请参阅,以便更好地理解。特别是关于如何通过模块定义类级方法的“常用习惯用法”一节

这里的示例代码实际上生成了
true
,因此我不确定您的问题到底是什么。这应该行得通,对我也行。您的示例代码实际上生成了
true
,所以我不确定您的问题到底是什么。这应该行得通,对我也行。