GOOGLE ADS

среда, 27 апреля 2022 г.

Как отобразить значок с помощью openweather API в приложении rails

I tried to display icon with 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" %>

Комментариев нет:

Отправить комментарий

Laravel Datatable addColumn returns ID of one record only

Я пытаюсь использовать Yajra Datatable для интеграции DataTable на свой веб-сайт. Я смог отобразить таблицу, но столкнулся с проблемой. В по...