2012-02-28 71 views
0

好了,我已经建立了一个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; 
    }); 
}); 

棘手的部分是,当我尝试在主页上输入内容并提交时,第一次很好,但第二次,两个“示例!”。出现,第三次,三个“榜样!”部分出现...

我被驱使疯狂...任何人都可以提供一些线索?

谢谢!

回答

1

看起来您每次都添加新的section。如果你没有刷新,旧的仍然会在那里,所以你只是预先考虑另一个。

您需要检查是否#notice已经存在,或者更好的,只是删除它每次:

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

哇,它的工作!非常感谢你!我应该想到... – Tomato 2012-02-28 01:42:20