tag remote rails form_tag javascript ruby-on-rails ajax link-to

javascript - rails form_tag remote



rails link_to: remote (2)

Tengo lo siguiente:

<%= 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 %>

que muestra un Bootstrap Modal para la confirmación, y quería conectar la llamada ajax para que pueda mostrar un spinner o algún tipo de texto.

Sé que puedo usar javascript discreto para escuchar el evento click como así, si NO uso '': remote => true'' en mi 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

pero no estoy seguro de cómo combinar los dos al usar '': remote => true''

¿Alguna sugerencia?

gracias por la ayuda


No necesitas combinar los dos. Simplemente use format.js para llamar a javascript.

En tu controlador:

Controlador

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>


Puede enlazar a llamadas ajax como esta:

<%= 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(); });