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