Lei*_*ana 3 ruby api rubygems environment-variables sinatra
我是一名初级程序员,目前正在练习 Sinatra gem。
我的项目之一是一个简单的天气应用程序,它可以告诉用户不同城市的天气。现在我想隐藏我一直在使用的 API 密钥,因为我想将此网站上传到 Heroku。我该如何去做呢?我知道我需要一个 config.yml 文件。这要去哪里?是否需要进入某个文件夹?
就像将其粘贴到 config.yml 文件中一样简单吗?
weather_api_key: *api key here*
Run Code Online (Sandbox Code Playgroud)
我需要在 server.rb 文件中添加任何其他命令吗?有人可以在这里给我任何指示吗?
有几种方法可以做到这一点。
一种是使用一个文件,将其添加到 gitignore 中,另一种是使用环境变量,然后在配置文件中引用该变量:
在~/.bash_profile:
export WEATHER_API_KEY=*api key here*
Run Code Online (Sandbox Code Playgroud)
在config.yml:
WEATHER_API_KEY: <%= ENV['WEATHER_API_KEY'] %>
Run Code Online (Sandbox Code Playgroud)
您需要手动刷新 bash 设置 ( . ~/.bash_profile),或者关闭终端窗口并打开一个新窗口,以便正确设置环境变量。