Rails: получить значение json в форме hidden_field (giphy api)

Я использую API поиска Giphy, чтобы позволить моим пользователям искать картинки и позволять им добавлять gif.

Вот упрощенная часть моего кода, чтобы он работал:

_form.html.erb

<%= form_for Task.new do |f| %>
<%= f.hidden_field :gif, id: "GifUrl", value: "" %>
<input type="text" name="search" placeholder="Search gif">
<!-- This part render the gif search result -->
<div id="score"></div>
<% end %>

Часть моего сценария, где я получаю детали gif из giphy

  this.displayResult = function(url) {
    const target = document.getElementById('score');
    const img = document.createElement('img');
    img.src = url;

    target.appendChild(img);
  }

То, что я хотел сделать, это очистить значение html src возвращенной ссылки gif и передать его в моей форме через скрытое поле, но оно возвращает: [объект объекта] в качестве значения вместо правильной ссылки gif.

 => #<Task id: 285, description: "", user_id: 37, gif: "[object Object]">

Должен ли я использовать HTML-парсер, как nokogiri, или я делаю что-то не так? Как этого добиться?

Спасибо!

1 ответ

Похоже, что при использовании giphy-api вы получите ответ json. Вы должны изучить только, используя URL-адрес размера изображения, которое вы хотели бы сохранить. IE

$("#GifUrl").val(
  giphy_response['data'][SEARCH_RESULT_TO_USE][images][IMAGE_SIZE_TO_USE]['url']
)
Другие вопросы по тегам