【发布时间】:2011-05-06 04:16:31
【问题描述】:
我有一个应用程序,它有很多要管理的 api 键和设置,它们是使用初始化程序加载的。因为它们对于每个环境都不同,所以我无法在 environment.rb 文件中设置常量。 (我试过了;没有用。)所以我在每次部署之前手动开始评论和取消评论,这很乏味。我想知道在您必须处理初始化程序中加载的多个配置设置的情况下,最佳实践是什么。
【问题讨论】:
标签: ruby-on-rails configuration
我有一个应用程序,它有很多要管理的 api 键和设置,它们是使用初始化程序加载的。因为它们对于每个环境都不同,所以我无法在 environment.rb 文件中设置常量。 (我试过了;没有用。)所以我在每次部署之前手动开始评论和取消评论,这很乏味。我想知道在您必须处理初始化程序中加载的多个配置设置的情况下,最佳实践是什么。
【问题讨论】:
标签: ruby-on-rails configuration
如果请求来自本地,您可以在 environment.rb 中设置密钥:
Rails::Initializer.run do |config|
if local_request?
CONSTANT1 = 10
else
CONSTANT1 = 20
end
end
这将检查您是否在localhost 上,即localhost:3000,您的开发环境。如果是这样,那么 if/else 语句将选择要设置的常量。
另一种选择是在环境文件夹中设置常量,这可能是一个更好的主意
所以对于您的生产常量,请将它们放在config/environments/production.rb。
对于您的开发常量,请将它们放入 config/environments/development.rb。
【讨论】:
您应该在初始化程序文件中设置这些常量,您可以在初始化程序目录下创建这些文件。然后,使用环境目录下的环境特定配置文件为每个环境设置它们。
【讨论】: