ruby - 如何使用带有 Ruby 的 Sinatra gem 隐藏 API key

标签 ruby api rubygems sinatra environment-variables

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

我的一个项目是一个简单的天气应用程序,它可以告诉用户不同城市的天气情况。现在我想隐藏我一直在使用的 API key ,因为我想将这个站点上传到 Heroku。我该怎么做呢?我知道我需要一个 config.yml 文件。这是去哪里?它需要进入某个文件夹吗?

把这个贴在config.yml文件里就这么简单?

    weather_api_key: *api key here*

我需要在我的 server.rb 文件中添加任何额外的命令吗?有人可以在这里给我任何指示吗?

最佳答案

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

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

~/.bash_profile 中:

export WEATHER_API_KEY=*api key here*

config.yml中:

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

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

关于ruby - 如何使用带有 Ruby 的 Sinatra gem 隐藏 API key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36394579/

相关文章:

ruby-on-rails - 测试 Rails 应用程序在没有登录的情况下无法访问

ruby-on-rails - 在 rspec 中编写测试用例时出错

ruby - 您如何访问 VCR 盒式磁带中的数据进行测试?

Ruby:使用其中一个数组的值对 2 个数组进行排序

ruby-on-rails - 如何检查字符串是否包含符号?

api - Google map 方向 API 优化航点并强制航点顺序

javascript - 用户输入的 Reddit 搜索 API 查询

windows - `RegisterDragDrop` 返回 S_OK,但没有调用 DragEnter 方法

mysql - 将 gem mysql12 安装到 ruby​​ 时出错

ruby - 删除旧版本的 gem