1

コントローラ(たとえば、ProductController)で次のメソッドを取得しました。

  def show
    respond_with do |format|
      format.html do
        if request.xhr?
          @product = ...
          render :status => 200, :partial => 'products/show'
        end
      end
    end
  end

ユーザーが製品のリンクをクリックすると、製品の画像と説明を含むポップアップが開きます。

問題:特定のユーザーが製品リンクをダブルクリックすると、2つのポップアップが開きます。デバッグ中に、メソッドが1回だけ呼び出されることに気付きましたProductController#showが、それでも2つのポップアップが開きます。

4

1 に答える 1

1

ajax経由でサーバーにリクエストを送信している可能性がありますか?2番目のリクエストは、リンクのデフォルトの動作になります。これを試して

$("a.your_link").click( function(e){
   e.preventDefault(); // this will consume default functionality of your link 
   //now send request to server
   $.ajax(url: your_url).done( function(output){
     alert(data);
   });
});
于 2013-03-19T12:33:38.597 に答える