是否可以在rails应用程序中拥有多个秘密文件?

时间:2016-05-12 14:23:07

标签: ruby-on-rails secret-key

我使用rails应用程序来托管多个站点,并且遇到了使用secrets.yml的路障。我有多个不同站点之间的API密钥,并希望在我的每个站点子目录中都有不同的秘密文件。我希望能够动态设置秘密路径,这可能吗?还有可能让rails同时在多个路径中查找机密信息吗?

1 个答案:

答案 0 :(得分:1)

secrets.rb允许嵌套

production:
  site1:
    my_api_key: 'key1'
    my_api_password: 'password1'
  site2:
    my_api_key: 'key2'
    my_api_password: 'password2'

然后,您可以在环境变量中加载site_code,并在代码中执行类似的操作

api_key = Rails.application.secrets[ENV['site_code']][:my_api_key]