События драйвера Rails 3 UJS

По словам Симоне КарлеттиСообщение блогаRails 3 ajax помощники сильно изменились. Мы должны написать больше JavaScript с рельсами 3, чем мы привыкли с рельсами 2.

Я попытался выяснить, как показать gif загрузки ajax - пока выполняется запрос ajax - в «rails 3 way». Я придумал такой код, который использует события javascript, отправленные драйвером UJS Rails 3. Этот пример использует прототип:

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

Это хорошо работает, но я хотел бы, чтобы можно было написать эти «триггеры» событий ajax с помощью прототипа и помощников сценариев, как, например, когда мы используем функцию link_to_function:

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

Есть ли способ сделать это, или мы должны написать ajax события «триггеры» непосредственно в javascript, либо прототип, либо jquery?

С наилучшими пожеланиями,

Филипп Ланг

Ответы на вопрос(2)

Ваш ответ на вопрос