在初始化程序

时间:2016-07-12 12:14:29

标签: ruby-on-rails ruby

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

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

档案: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 `<main>'

如果我删除命名空间并将CONFIGS作为常量,则它可以正常工作并重新加载。我已经阅读了尽可能多的reload!文档,因为我可以找到并且从我所知道的内容中并未预料到这一点。

我的问题是,如何才能在初始值设定项中正确使用命名空间常量,同时仍能使用reload!

0 个答案:

没有答案