Я пытался отобразить значок с 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"> . .
, но это не сработает ... и это не ошибка, поэтому код ошибки - нет. Браузер показал только крошечную картинку, которая сломана.
Кто-нибудь это исправит? Пожалуйста, научите меня.
Спасибо, что прочитали это.
Вам нужно использовать теги ERB <%= %>, чтобы синтаксический анализатор действительно мог оценить код.
<%= %>
<img src="http://openweathermap.org/img/wn/<%= @icon %>.png">
Обычная последовательность интерполяции строк #{} не имеет особого значения в ERB и будет просто вывод как есть.
#{}
Вы также можете использовать помощник image_tag:
<%= image_tag "http://openweathermap.org/img/wn/#{@icon}.png" %>