如何使用带有Ruby的Sinatra gem隐藏API密钥

时间:2016-04-04 04:28:08

标签: ruby api rubygems sinatra environment-variables

我是一名初学程序员,目前正在使用Sinatra gem。

我的一个项目是一个简单的天气应用程序,告诉用户不同城市的天气。现在我想隐藏我一直在使用的API密钥,因为我想将此站点上传到Heroku。我该怎么做呢?我知道我需要一个config.yml文件。这是怎么回事?是否需要进入某个文件夹?

就像在config.yml文件中粘贴它一样简单吗?

    weather_api_key: *api key here*

我是否需要在server.rb文件中添加任何其他命令?有人可以在这里给我任何指示吗?

2 个答案:

答案 0 :(得分:4)

有几种方法可以做到这一点。

一个是使用你要添加到你的gitignore的文件,另一个是使用环境变量,然后在配置文件中引用它:

~/.bash_profile中的

export WEATHER_API_KEY=*api key here*
config.yml中的

WEATHER_API_KEY: <%= ENV['WEATHER_API_KEY'] %>

您需要手动刷新bash设置(. ~/.bash_profile),或关闭终端窗口并打开一个新窗口,以便正确设置环境变量。

答案 1 :(得分:0)