【发布时间】:2014-08-12 10:59:31
【问题描述】:
在rails中实现,暂时只在本地运行。
使用我有一个用于 google 地方的 google API 服务器密钥...可以说...“abc123”
当我使用 url 只是为了查看类似这样的 url:
https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=-33.8670522,151.1957362&radius=500&types=food&name=harbour&sensor=false&key=abc123
它提取信息。
当我从 mac 终端输入 env 时,我列出了一个值:
PLACES_API=abc123
当我运行填充文字键的代码时:
@client = GooglePlaces::Client.new("abc123")
效果很好。
但是,当我尝试使用
将其拉入时@client = GooglePlaces::Client.new(ENV['PLACES_API'])
它出错了,当我尝试放置 ENV['PLACES_API'] 时它是空白的。
我假设我没有正确使用环境变量,但现在我想知道我做错了什么以及如何使用环境变量。
【问题讨论】:
-
如果你
puts ENV看到其他环境变量了吗? -
如果我放置 ENV,它只会记录一个“ENV” - 如果我在其上运行 each 方法并放置每个元素,是的......它会打印出很多东西,但不是我的变量!
-
对不起。我没有意识到
ENV已经定义了它的to_s方法来只输出ENV。无论如何,只要确认一下,如果您执行ruby -e "puts ENV.has_key?('PLACES_API')" do you gettrue` 或false? -
这会返回一个“真”
-
我刚刚添加了另一个测试环境变量并运行了每个循环。它也没有打印出来。就好像我实际上是在设置变量(并且已经从项目根目录和 app/controllers 目录完成),但是应用程序没有从我设置它的位置读取!
标签: ruby-on-rails rubygems environment-variables google-places-api