Rails 3 UJS - контроллер дважды вызывается link_to: remote

У меня странная проблема, когда JQuery создает два запроса AJAX для метода link_to. Я разрабатываю приложение Rails 3 с JQuery для UJS. У меня есть переключающая ссылка, которая переключает между «Follow» и «Unfollow»

Моя ссылка отображается, как показано ниже:

<span id="follow_link">
  <a href="/tfollow_artist?id=8103103" data-method="post" data-remote="true" id="follow_artist" rel="nofollow">Unfollow</a>
</span>

, и мой контроллер настроен так:

def tfollow_artist
  @artist = Artist.find(params[:id])
  if current_user.following?(@artist) 
    current_user.stop_following(@artist)
  else 
    current_user.follow(@artist)
  end
 end

, который, наконец, отображает js как:

 $('#follow_link').html('<%= escape_javascript(render :partial => "follow") %>');

Что по сути заменяет HTML-содержимое тега ' ... тем же URL-адресом только с другим текстом. Например, выше теперь будет отображаться как:

<span id="follow_link">
  <a href="/tfollow_artist?id=8103103" data-method="post" data-remote="true" id="follow_artist" rel="nofollow">Follow</a>
</span>

Однако это каким-то образом заставляет JQuery делать два запроса AJAX.

Кто-нибудь может увидеть, что здесь не так?

Я использую гем 'jquery-rails', который копирует последний файл jquery-ujs в мое приложение. Версия JQuery - 1.4.3

33
задан chandru 20 November 2010 в 08:40
поделиться