Rails link_to: remote
У меня есть следующее:
<%= link_to my_path, method: :delete, confirm: 'Delete?', class: 'link-delete', 'data-message' => 'Are you sure?', 'data-severity' => 'danger', :remote => true do %>
<i class="icon-trash"></i>
<% end %>
который вызывает Bootstrap Modal для подтверждения, и я хотел подключиться к вызову ajax, чтобы я мог отображать счетчик или какой-то текст.
Я знаю, что я могу использовать ненавязчивый javascript для прослушивания события click так, если я не использую ': remote = > true' в моей link_to
jQuery ->
$('.link-delete').live 'click', (event) ->
$('.link-delete').html("Loading...") #THE MSG OR ANIMATION I WANT TO DISPLAY
$.get(this.href, null, null, 'script')
false
но не уверен, как скомбинировать их при использовании:: remote = > true '
Любые предложения?
спасибо за помощь
Ответы
Ответ 1
Вы можете привязываться к вызовам ajax следующим образом:
<%= link_to my_path, method: :delete, confirm: 'Delete?', class: 'link-delete', 'data-message' => 'Are you sure?', 'data-severity' => 'danger', :remote => true do %>
<i class="icon-trash"></i>
<% end %>
$('.link-delete').bind('ajax:beforeSend', function() {
$('#mySpinner').show();
});
$('.link-delete').bind('ajax:complete', function() {
$('#mySpinner').hide();
});
Ответ 2
Вам не нужно комбинировать эти два. Просто используйте format.js для вызова javascript.
В вашем контроллере:
контроллер
def my_method
#code here
respond_to do |format|
format.js {}
end
end
my_method.html.erb
<div id = "link-delete"></div>
my_method.js.erb
$("#link-delete").html("<%= escape_javascript(render(:partial => "text_message"))%>");
_text_message.html.erb
<p>Loading...</p>