Как отобразить значок с openweather api в приложении rails - PullRequest
0 голосов
/ 28 апреля 2020

Я пытался отобразить значок с openweather api.

Это работает

_else.html.erb
.
.
 <div class="tenki">
    <h2>Tokyo</h2>
    <img src="http://openweathermap.org/img/wn/10d@2x.png">
.
.

, но это всего лишь "10d" шаблон. Я хочу показать значок в это время.

, поэтому попробуйте это ..

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']
    @icon = res['weather'][0]['icon']
_else.html.erb
.
.
 <div class="tenki">
    <h2>Tokyo</h2>
    <img src="http://openweathermap.org/img/wn/#{@icon}.png">
.
.

, но это не сработает ... и это не ошибка, поэтому код ошибки - нет. Браузер показал только крошечную картинку, которая сломана.

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

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

1 Ответ

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

Вам нужно использовать теги ERB <%= %>, чтобы синтаксический анализатор действительно мог оценить код.

<img src="http://openweathermap.org/img/wn/<%= @icon %>.png">

Обычная последовательность интерполяции строк #{} не имеет особого значения в ERB и будет просто вывод как есть.

Вы также можете использовать помощник image_tag:

<%= image_tag "http://openweathermap.org/img/wn/#{@icon}.png" %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...