当我 运行 rails 控制台时,是否调用 Rails 初始值设定项

Does Rails initializers gets called when I run rails console

我想将 chargify conf 放入初始化程序中, 但是我发现初始化程序不会在我的 rails c 中执行,有没有办法调用我的初始化程序以便我可以在我的控制台中进行测试?

    Chargify.configure do |c|
      c.api_key   = "keykey"
      c.subdomain = "test-site"
    end

是的,config/initializers 中的每个 .rb 文件都是 运行 每当你 运行 控制台,运行 rake 任务,或 运行 你的测试。此外,环境配置 (config/environments) 在初始化程序之前 运行。

config/initializers 将在初始加载时执行,但仅执行一次。因此,如果您在控制台处于 运行 时对 config/initializers 进行更改,您将看不到这些更改的结果。

您最好的选择是停止并重新启动 rails c,或者您可以在控制台中键入 reload! 命令。

此外,如果您使用 spring,有时会阻止重新加载已更改的初始值设定项。在这种情况下,请在重新启动控制台之前执行 spring stop

显然不再存在,除非你禁用 spring:

export DISABLE_SPRING=1