在初始化程序中重新加载命名空间常量

今天进入一个有趣的场景,我不确定如何解决。

给定带有初始化程序的rails应用程序:

file: config/initializers/integrations.rb

 Integrations::CONFIGS = { "key" => "value" }.freeze 

如果我进入bundle exec rails console并要求该常量,它按预期工作:

 Integrations::CONFIGS => {"key"=> "value"} 

然后,如果我使用reload! 在控制台中,我失去了那个常数:

 [2] pry(main)> reload! Reloading... => true [3] pry(main)> Integrations::CONFIGS NameError: uninitialized constant Integrations::CONFIGS from (pry):3:in `' 

如果我删除命名空间并将CONFIGS作为常量,它将按预期工作并重新加载。 我已经阅读了尽可能多的reload! 我可以找到的文件,从我可以说的是不可取的。

我的问题是,如何在初始化程序中正确使用命名空间常量,同时仍然能够使用reload!