Ruby on rails 运行Rails控制台时是否调用Rails初始值设定项
我想把我的chargify conf放在初始化器中, 但是我发现初始值设定项不会在rails c中执行,有没有办法调用我的初始值设定项以便在控制台中进行测试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.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)
在一个初始值设定项中。