У меня есть партиал, который возвращает результаты из API Amazon-ecs (поиск книг). Для возврата значений требуется около 2,5 секунд, поэтому я хочу добавить спиннер (и в идеале скрыть кнопку поиска), но мне было трудно заставить его работать.
У меня уже есть javascript, обновляющий партию результатами. Мне бы просто хотелось, чтобы кнопка давала мне вертушку (и скрывала кнопку поиска), пока частичная загрузка не завершится.
Вот мой основной вид (index.html.erb), который отображает часть результатов поиска, каждый из которых временно добавляется как объект в AmazonItems:
<%= form_tag amazon_items_path, :method => :get, :remote => true do %>
<p>
<%= text_field_tag :query, params[:query] %>
<span id="spinner" style="display:none">
<%= image_tag 'ajax-loader.gif' %>
</span>
<span id="search_button">
<%= submit_tag "Search" %>
</span>
</p>
<% end %>
<h1>Searching Amazon</h1>
<div id="amazon_returned">
<%= render 'amazon_returned' %>
</div>
Мой единственный JS-код находится в файле update.js.erb, который выглядит следующим образом:
$("#amazon_returned").html("<%=j render 'amazon_returned' %>");
Я уверен, что это легко, но я не могу заставить его работать. Спасибо!
РЕДАКТИРОВАТЬ: мой частичный "_amazon_returned.html.erb" выглядит как
<table>
<% for amazon_item in @amazon_items %>
<td> amazon_item.title </td>
...ETC...
<% end %>
</table>