0

在 Ruby 中,我想将一些助手放在一个额外的模块和文件中。我将在模型级别使用它,所以我把

include MyHelper
class Shop
  ...
end

我现在意识到这也可以这样做:

class Shop
  include MyHelper
  ...
end

谁能向我解释更多关于差异的信息?第二个版本总是更好的选择吗?

4

1 回答 1

1

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

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

于 2013-02-27T10:28:12.253 回答