在文件中包含模块与在类中包含模块(RubyMixins):什么更好?

在文件中包含模块与在类中包含模块(RubyMixins):什么更好?,ruby,Ruby,在Ruby中,我想在一个额外的模块和文件中添加一些助手。我将在模型级别使用它,因此我将 include MyHelper class Shop ... end 我现在意识到也可以这样做: class Shop include MyHelper ... end 有人能给我解释一下这些区别吗?第二个版本总是更好的选择吗?不同之处在于,在第一种情况下,您在全局名称空间中包含helper。我想不出哪种情况下这是个好主意 在后一种情况下,您将助手包括在类的“名称空间”中。模块中定义的(实例

在Ruby中,我想在一个额外的模块和文件中添加一些助手。我将在模型级别使用它,因此我将

include MyHelper
class Shop
  ...
end
我现在意识到也可以这样做:

class Shop
  include MyHelper
  ...
end

有人能给我解释一下这些区别吗?第二个版本总是更好的选择吗?

不同之处在于,在第一种情况下,您在全局名称空间中包含helper。我想不出哪种情况下这是个好主意

在后一种情况下,您将助手包括在类的“名称空间”中。模块中定义的(实例)方法现在可用于
Shop
类的实例