2010-11-07 65 views
1

我有一个应用程序,有很多的API密钥和设置进行管理,并使用初始化程序加载它们。由于它们对于每个环境都不相同,因此我无法在environment.rb文件中设置常量。 (我尝试过,没有工作。)所以我在每次部署之前都手动评论和取消评论,这很乏味。我想知道如何处理在初始化程序中加载的多个配置设置的情况,最佳做法是什么。在Ruby on Rails中管理配置的最佳方式是什么?

回答

1

您应该在初始化文件中设置这些常量,您可以在初始化程序目录下创建这些常量。然后,使用环境目录下的特定于环境的配置文件在每个环境中设置它们。

2

在你的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

+0

我们今晚是否只有两个回答RoR问题? :P – 2010-11-07 00:49:11

+0

您认为如何将它们分解到环境/ dev.rb和environments/prod.rb中有什么意见?它不会污染全局配置文件。 – 2010-11-07 00:50:16

+0

大声笑,我想这只是我们。我同意。可能对组织更好。 – s84 2010-11-07 00:53:25

相关问题