如何在Rails中设置秘密全局变量并将文件放在.gitignore中?

时间:2014-07-30 13:39:10

标签: ruby-on-rails ruby git gitignore

我有一个连接到各种API的rails应用程序,而不是直接将我的API密钥放在Rails项目中,我想创建一个单独的文件secrets.rb,它包含所有的全局字符串变量我的API密钥。

我应该在哪里保存这个,以及如何确保这些全局变量将包含在我项目中需要它们的位置?

2 个答案:

答案 0 :(得分:1)

您可以使用API​​常量创建初始值设定项并将其添加到.gitignore

# config/initializers/secrets.rb

API_KEY = 'my_api_key'
API_SECRET_KEY = 'my_api_secret_key'

您可以按照@engineersmnky在评论中的建议将它们添加到config/environments/development.rb,但您通常希望development.rb添加到版本控制中。

答案 1 :(得分:0)

我认为更好的方法是创建config.yml并添加到gitignore。

# config/config.yml

development:
 api_key = 'dev_key'

test:
 api_key = 'test_key'

# config/initializers/app_config.rb

AppConfig = YAML.load_file(Rails.root.join('config', 'config.yml'))[Rails.env]