¿Cómo tener Ajax spinner show en una página específica?

Tengo problemas para mostrar mi hilandero ajax. Ahora mismo estoy probando esto en milocalhost:3000/test con el siguiente código:

Hago clic en un enlace para que aparezca el cargador (código de Ruby on Rails):

<li><%= link_to "New Test", new_test_path, :remote => true %></li>

Tengodiv El cargador debe aparecer en el interior:

<div id="generate-add-form">
  <div class="ajax-loader"></div>
</div>

A continuación, mis funciones para que aparezca:

jQuery( function($) {

$('#generate-add-form').ajaxStart( function() {
    $(this).children('.ajax-loader').show();
});

$('#generate-add-form').ajaxStop( function() {
    $(this).children('.ajax-loader').hide();
});

});

El último es mi css (algunas cosas comentadas para ver si es necesario o no):

.ajax-loader {
 display:    none;
 /*position:   fixed;*/
 z-index:    1000;
 /*top:        -13em;
 left:       6em;*/
 background:url('ajax-loader.gif') 50% 50% no-repeat;
}
body.loading {
 overflow: hidden;
}
body.loading .ajax-loader {
 display: block;
}

¿Cómo es que cuando hago clic en el enlace no aparece?

EDITAR:

<li><%= link_to "Test", new_test_path, :class => "add-link", :remote => true %></li>
<li><%= link_to "Study Guide", new_study_guide_path, :class => "add-link", :remote => true %></li>

$('#generate-add-form').children('.ajax-loader').hide();
  $('.add-link').click( function() {
    $('#generate-add-form').children('.ajax-loader').show();
});

Primero escondo la ruleta y luego la muestro de nuevo al hacer clic. ¿Qué hay en medio cuando se cambia a otro enlace?

Respuestas a la pregunta(2)

Su respuesta a la pregunta