我有一个连接到各种API的rails应用程序,而不是直接将我的API密钥放在Rails项目中,我想创建一个单独的文件secrets.rb,它包含所有的全局字符串变量我的API密钥。
我应该在哪里保存这个,以及如何确保这些全局变量将包含在我项目中需要它们的位置?
答案 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]