Как исправить ENV связанные openweather api_key - PullRequest
0 голосов
/ 28 апреля 2020

Я хочу использовать 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'] .. неверно. Ищет, как написать код, но не может его найти.

Кто-нибудь знает это, пожалуйста, научите меня, как это исправить.

Спасибо, что прочитали это.

1 Ответ

0 голосов
/ 28 апреля 2020

Вам нужно сделать интерполяцию строки, чтобы вставить значение

URI.parse("http://api.openweathermap.org/data/2.5/weather?q=Tokyo&appid=#{ENV['OPEN_WEATHER_API_KEY']}")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...