Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 运行Rails控制台时是否调用Rails初始值设定项_Ruby On Rails_Initializer - Fatal编程技术网

Ruby on rails 运行Rails控制台时是否调用Rails初始值设定项

Ruby on rails 运行Rails控制台时是否调用Rails初始值设定项,ruby-on-rails,initializer,Ruby On Rails,Initializer,我想把我的chargify conf放在初始化器中, 但是我发现初始值设定项不会在rails c中执行,有没有办法调用我的初始值设定项以便在控制台中进行测试 Chargify.configure do |c| c.api_key = "keykey" c.subdomain = "test-site" end 是的,config/initializers中的每个.rb文件在运行控制台、运行rake任务或运行测试时都会运行。此外,环境配置(config

我想把我的chargify conf放在初始化器中, 但是我发现初始值设定项不会在rails c中执行,有没有办法调用我的初始值设定项以便在控制台中进行测试

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

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

在初始加载时,
config/initializer
将执行一次。因此,如果您在控制台运行时对配置/初始值设定项进行更改,您将看不到这些更改的结果

您最好的选择是停止并重新启动
rails c
,或者您可以键入
reload命令


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

显然不再如此,除非禁用弹簧:

导出禁用_SPRING=1


初始化器
目录中的每个文件都应由Rails自动执行。这对控制台也有影响我怀疑的原因是,当我想用“p‘loaded?’”将员工登录到初始化程序文件中时,它并不总是显示出来,即使我退出并打开Rails控制台时也是如此。噢,哇。。我不知道退出rails控制台并没有停止spring。为此浪费了这么多时间:(非常感谢您的回答!是否有任何方法可以防止这种行为,因此只能在启动服务器时运行初始化代码,而不能在启动控制台时运行?@Reinier使用环境变量。如果定义了
,可以使用对
Rails::server
对象的引用?(::Rails::Server)
在一个初始值设定项中。