在Ruby on Rails中管理配置的最佳方法是什么?

时间:2010-11-07 00:14:53

标签: ruby-on-rails configuration

我有一个应用程序,它有很多api密钥和设置要管理,并使用初始化程序加载它们。因为每个环境都不同,我无法在environment.rb文件中设置常量。 (我试过了;没有用。)所以我在每次部署之前手动开始评论和取消,这很乏味。我想知道在必须处理初始化程序中加载的多个配置设置的情况下,什么是最佳实践。

2 个答案:

答案 0 :(得分:2)

在您的environment.rb中,如果请求来自本地,您可以设置密钥:

Rails::Initializer.run do |config| 
    if local_request?
       CONSTANT1 = 10
    else
       CONSTANT1 = 20
    end 
end

这样做的目的是检查您的开发环境localhostlocalhost:3000。如果是,则if / else语句将选择要设置的常量。

另一种选择是在环境文件夹中设置常量,这可能是一个更好的主意

因此,对于您的生产常量,请将它们放在config/environments/production.rb

并且您的开发常量将它们放在config/environments/development.rb

答案 1 :(得分:1)

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