2016-04-04 46 views
2

我是一位初级程序员,目前正在与Sinatra gem一起练习。如何使用Sinatra gem与Ruby隐藏API密钥

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

这就像在config.yml文件中一样简单?

weather_api_key: *api key here* 

我需要把任何额外的命令放在我的server.rb文件吗?任何人都可以在这里给我任何指针吗?

回答

4

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

一种是使用一个文件,你会添加到您的gitignore,另一种是使用环境变量,然后是指在你的配置文件:

~/.bash_profile

export WEATHER_API_KEY=*api key here* 

config.yml

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

你需要手动刷新您的bash设置(. ~/.bash_profile),或关闭项inal窗口并打开一个新的环境变量来正确设置。

+0

感谢这么多的信息! –

+0

不客气:)请接受答案,如果它有效 –

0
+1

感谢您的信息,特别是有关Heroku说明! –

+0

请不要简单地发布链接到其他页面,因为这些链接可能会随着时间的推移而失效。提供必要的上下文,以便您的答案不需要这些外部参考。请参阅http://stackoverflow.com/help/how-to-answer中的“为链接提供上下文”部分(及其他) –