Rails 3 eventos del controlador UJS

De acuerdo con Simone Carlettientrada en el blog, Los ayudantes de Rails 3 ajax han cambiado mucho. Se supone que debemos escribir más javascript con los rieles 3 de lo que solíamos hacerlo con los rieles 2.

Traté de descubrir cómo mostrar un gif de carga ajax, mientras se ejecuta una consulta ajax, en el "camino de 3 carriles". Se me ocurrió este tipo de código, que utiliza eventos de JavaScript enviados por el controlador Rails 3 UJS. Este ejemplo usa el prototipo:

<div id="wait" style="display:none">
    <img src="/images/ajax-loader.gif"> Please wait...
</div>

<div>
    <%= link_to 'Get', 'finished', :id => "mylink", :remote => true %>
</div>

<%= javascript_tag do %>
        Event.observe('mylink', 'ajax:before', function(event) {
            $('wait').show();
        });
        Event.observe('mylink', 'ajax:complete', function(event) {
            $('wait').hide();
        });
<% end %>

Esto funciona bien, pero desearía que fuera posible escribir estos "desencadenantes" de eventos ajax con la ayuda del prototipo y ayudantes scriptaculous, al igual que cuando usamos link_to_function por ejemplo:

<%= 
  link_to_function("toggle visibility") do |page|
    page.toggle "wait"
  end
%>

¿Hay alguna manera de hacer eso, o se supone que debemos escribir eventos desencadenantes de eventos ajax en JavaScript directamente, ya sea prototipo o jquery?

Atentamente,

Philippe Lang

Respuestas a la pregunta(2)

Su respuesta a la pregunta