2012-02-28 6 views
0

OKを実行し、私は、私は、ホームページ上のフォームからデータを受信し、いくつかのコントローラを持っているのRailsアプリを構築した:RailsのAjaxが何回

class UsersController < ApplicationController 
    def some_method 
    ... 
    respond_to do |format| 
     format.js { render "some_method_first" } 
    end 
    end 
end 

をそしてsome_method_first.jsの内側に、私が得た:

$("#some_id").prepend("<section id='notice'>example!</section>"); 
$(function() { 
    $("#notice").delay(500).fadeIn('slow', function() { 
    $(this).delay(2500).fadeOut; 
    }); 
}); 

私がホームページに何かを入力して提出しようとすると、最初はうまくいきますが、2度目には2つの "example!" 3回目、3つの "例!"セクションが表示されます...

私は夢中になりました...誰か手がかりを私に提供できますか?

ありがとうございます!

答えて

1

毎回新しいsectionを追加しているようです。リフレッシュしないと、古いものはまだそこに残っているので、別のものを先行しておくだけです。

あなたは#noticeが既に存在するかどうかを確認する必要がある、またはより良い、それを毎回削除:

$("#notice").remove(); 
$("#some_id").prepend("<section id='notice'>example!</section>"); 
+0

うわー、それは働きました!大変ありがとう!私はそれを考えていたはずです... – Tomato