如何使在不同文件中定义的模块从同一父模块继承常量



在我的"助手";文件夹,我有一个名为";"集成";,在那里我有我的所有助手模块,用于与外部API集成。它们的定义如下:

module Integrations
module FirstHelper
def foo
puts FOO
end
end
end
module Integrations
FOO = "FOO".freeze
module SecondHelper
end
end

因此,在启动rails应用程序后,我可以在FirstHelper中使用Integrations中的FOO常量,但这样做正确吗?有更好的方法吗?看起来很";脏的";对我来说,我认为有一种更好、更优雅的方法可以做到这一点,但我似乎找不到。我的想法是在一个地方定义所有常量,然后在继承自同一Integrations模块的不同助手文件中使用它们。

如果您在Integrations中创建其他模块,您应该让它们中的每一个都使用所需的常量,并且只保留;全局";将他们所有人共享的级别调平。如果你把所有的常数都放在一个地方,但在一个特定的模块中只使用一个或两个,我认为这是不必要的。

到目前为止,它们从父模块继承常量的正确方法是在所述父中定义它们

最新更新