当我运行rails console时,是否会调用Rails初始化程序

use*_*793 6 ruby-on-rails initializer

我想把我的chargify conf放在初始化器中,但我发现初始化器不会在我的rails c中执行,有没有办法调用我的初始化器,所以我可以在我的控制台中测试?

    Chargify.configure do |c|
      c.api_key   = "keykey"
      c.subdomain = "test-site"
    end
Run Code Online (Sandbox Code Playgroud)

Ant*_*y E 8

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


Ste*_*zyn 8

config/initializers会执行,但只有一次,在初始加载.因此,如果您在config/initializers控制台运行时进行更改,则无法看到这些更改的结果.

您最好的选择是停止并重新启动 rails c

此外,如果您使用的是弹簧,有时会阻止更改的初始化程序重新加载.在这种情况下spring stop,重新启动控制台之前.

  • 我怀疑的原因是,当我想使用"p'加载初始化文件时记录员工?" ",它并不总是出现,即使我退出然后打开我的Rails控制台. (2认同)

pgu*_*rio 5

显然不再是了,除非你禁用 spring:

导出 DISABLE_SPRING=1