Я пытаюсь выполнить простой запрос AJAX, используя параметр link_to: remote, и отображать ответ динамически. Проблема в том, что я получаю 5 ответов вместо одного. Почему это может происходить?
page.html.erb:
<%= link_to item.title, item_path(item, :format => :js), :remote => true %>
show.js.erb:
$("<%= escape_javascript render(:file => 'items/show.html.erb') %>").insertAfter('#sortable');
$('#show_item').slideDown();
items_controller.rb:
def show
@item = Item.find(params[:id])
respond_to do |format|
format.html
format.js
end
end
Обновление: я использую jQuery. Gemset включает Devise, скрепку и simple_form. У меня также возникает аналогичная проблема при использовании: подтвердить с помощью link_to. Дело в том, что это диалоговое окно подтверждения затем отображается 5 раз независимо от того, что вы нажимаете.
В сгенерированном html есть только один элемент с «сортируемым» идентификатором:
<ul id="sortable">
<li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span><a href="/items/10.js" data-remote="true">Another item</a></li>
<li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span><a href="/items/9.js" data-remote="true">test</a></li>
</ul>