如何修复 ENV 相关的 openweather api_key

How to fix ENV related openweather api_key

我想在我的应用程序中使用 openweather。

直接写效果不错api_key。 但是我引入了ENV,还是不行

有人知道如何解决吗?

问题如下

static_pages_controller.rb

...
uri = URI.parse('http://api.openweathermap.org/data/2.5/weather?q=Tokyo&appid=ENV['OPEN_WEATHER_API_KEY']')
    json = Net::HTTP.get(uri)
    res = JSON.parse(json)
    @wind = res['wind']['speed']
    @humidity = res['main']['humidity']
    @clouds = res['clouds']['all']
...
.env

OPEN_WEATHER_API_KEY=20ab....
error code
/Users/sy/env2/ji-boys/app/controllers/static_pages_controller.rb:19: 
syntax error,
 unexpected tCONSTANT, expecting ')' ...appid=ENV['OPEN_WEATHER_API_KEY']') ... ^~~~~~~~~~~~~~~~~~~~ 
/Users/sy/env2/ji-boys/app/controllers/static_pages_controller.rb:19: 
syntax error, unexpected ')', expecting end ...d=ENV['OPEN_WEATHER_API_KEY']') ... ^

我认为 ...appid=ENV['OPEN_WEATHER_API_KEY'].. 是错误的。 正在搜索如何编写代码,但找不到。

谁知道这个,请教我如何解决。

感谢您阅读本文。

您需要进行字符串插值以嵌入值

URI.parse("http://api.openweathermap.org/data/2.5/weather?q=Tokyo&appid=#{ENV['OPEN_WEATHER_API_KEY']}")