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']
)