ajax: éxito y ajax: la devolución de llamada completa no funciona cuando se usa UJS en Rails
Tengo un enlace que cuando hago clic en él activará una llamada ajax y luego lo reemplazaré por otro enlace, dice, por ejemplo, que el enlace original es "agregar amigo". Cuando hago clic en este enlace, enviará una solicitud ajax a la acción add_friend. si se agrega el amigo, el enlace anterior será reemplazado por otro enlace "cancelar solicitud", uso ujs para eso:
$("#link_for_friend").html("<%= escape_javascript(render('users/cancel_link')) %>")
cuando trato de agregar devolución de llamada (: éxito y: completo) no funciona, probé con: antesEnviar como sigue:
$(document).ready ->
$("#my_link").on "ajax:beforeSend", ->
alert("hello")
¿Hay una solución para el éxito y la devolución de llamada completa?
nota: mi idea es mostrar un loader.gif cuando ajaxStart se active y luego ocultarlo cuando ajax: complete la devolución de llamada se active al menos, también si hay algún error quiero mostrarlo cuando ajax: error se activa
Actualizar
Intenté resolver esto moviendo el código dentro del archivo action.js.erb a js como este:
$(document).ready ->
$(document).on("ajax:success", "a.invitation-box", ->
$("#link_for_friend").html("<%= escape_javascript(render('users/cancel_link')) %>")
).on "ajax:error", "a.invitation-box", ->
alert "error"
pero de esta manera no es posible poner render ('users / cancel_link') dentro de un archivo JS