Rails:由于某种原因,JS控制器被称为两次
出于某种原因,当我单击一个按钮时,我的控制器和生成的jquery函数被调用两次。 由于调用的js函数是切换,这是一个问题,因为它会导致代码跳入和跳出视图。
这是表格:
Unseen Notifications:
出于某种原因,当我单击一个按钮时,我的控制器和生成的jquery函数被调用两次。 由于调用的js函数是切换,这是一个问题,因为它会导致代码跳入和跳出视图。
这是表格:
Unseen Notifications:
这是控制器:
def seen respond_to do |format| format.js end end
这是jquery:
$("div#notifications").toggle(); $("div#count").html(" 'notifications/count')%>");
我不知道为什么地球上可能会发生这种情况。 我一直非常小心,不要双击,不知道如何防止它。 任何建议都会有很大的意义。
我之前遇到过这样的问题,当时我有2个jquery库。 特别是,检查您是否只有jquery_ujs.js而不是jquery.js。 好像当你包含它们时,某些js函数被调用两次。
希望这可以帮助!
如果Benjamin的建议不起作用,你可以使用作弊和黑客并在每次点击时添加1到一些全局变量(这将发生两次),然后使用模数仅在(global_counter%2 == 0)时触发你的动作。
需要明确的是,这是一个可怕的解决方案,你应该尽可能避免使用……
我是rails的新手并遇到了同样的问题。 事实certificate我有:
<%= javascript_include_tag "application" %>
在我的视图和application.html.erb中。 我删除了其中一个,瞧,固定。
以jquery_ujs.js为我工作。
仔细查看文件application.html.erb ,看看它是否指的是jquery.js和jquery_ujs.js。 如果是这样,只需取出jquery_ujs.js,刷新浏览器并再次尝试。
另外,看一下页面源代码,看看是否同时引用了jquery_ujs和jquery。 如果是这样,请在源文件中搜索对该jquery_ujs的引用。
为我工作,谢谢你们。