Eventos do driver UJS do Rails 3

De acordo com Simone Carlettipublicação no blog, Os ajudantes do Ajax do Rails 3 mudaram muito. Deveríamos escrever mais javascript com os trilhos 3 do que costumávamos com os trilhos 2.

Eu tentei descobrir como exibir um ajax carregando gif - enquanto uma consulta ajax está sendo executada - no "rails 3 way". Eu vim com esse tipo de código, que usa eventos javascript enviados pelo driver RJS 3 UJS. Este exemplo usa o protótipo:

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

Isso funciona bem, mas eu gostaria que fosse possível escrever esses eventos do ajax "acionadores" com a ajuda do protótipo e dos auxiliares de script, assim como quando usamos link_to_function, por exemplo:

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

Existe uma maneira de fazer isso ou devemos escrever eventos ajax "gatilhos" diretamente em javascript, prototype ou jquery?

Cumprimentos,

Philippe Lang

questionAnswers(2)

yourAnswerToTheQuestion