Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 为什么确认对话框需要用ujs点击两次?_Jquery_Ruby On Rails_Ruby_Ajax - Fatal编程技术网

Jquery 为什么确认对话框需要用ujs点击两次?

Jquery 为什么确认对话框需要用ujs点击两次?,jquery,ruby-on-rails,ruby,ajax,Jquery,Ruby On Rails,Ruby,Ajax,最初没有进行确认。 我发现在我的资产流形中添加/=query\u ujs解决了这个问题。 然而。。。现在我发现确认对话框需要“2次单击”才能使用(取消或确定按钮) 我的清单如下所示: //= require jquery //= require jquery-ui // // ujs needed for delete confirm dial boxes. //= require jquery_ujs 无论是取消还是确定,都需要单击两次。 删除按钮的Rails代码 = button_to '

最初没有进行确认。
我发现在我的资产流形中添加
/=query\u ujs
解决了这个问题。 然而。。。现在我发现确认对话框需要“2次单击”才能使用(取消或确定按钮)

我的清单如下所示:

//= require jquery
//= require jquery-ui
//
// ujs needed for delete confirm dial boxes.
//= require jquery_ujs
无论是取消还是确定,都需要单击两次。 删除按钮的Rails代码

= button_to '', schedule_path(schedule), 
:method => 'delete', 
:confirm => 'Are you sure you want to delete this schedule?', 
:class => 'deleteicon', 
:title => "Delete #{name}"
生成的HTML:

<form action="/schedule/719" class="button_to" method="post">
  <div>
    <input name="_method" value="delete" type="hidden">
    <input class="deleteicon" data-confirm="Are you sure you want to delete this schedule?" title="Delete Shedule A" value="" type="submit">
    <input name="authenticity_token" value="wpcofEiLu6NXymHj289XGahTTT1XqNI56XvBlAFq2G8=" type="hidden">
  </div>
</form>

页面标题的js:

<script src="/assets/jquery.js?body=1" type="text/javascript"></script>
<script src="/assets/jquery-ui.js?body=1" type="text/javascript"></script>
<script src="/assets/jquery_ujs.js?body=1" type="text/javascript"></script>
<script src="/assets/application.js?body=1" type="text/javascript"></script>

答案是资产汇编。

我们的系统设置为在运行时自动编译资产

我(错误地)还做了一个
rakeassets:precompile
,所以我基本上复制了js并创建了副本。我注意到在theta进行预编译的时候,它创建了很多文件,这是一个红旗,表明为什么事情发生了变化,双击已经开始(尽管当使用预编译时,它有它的位置)


多亏了git,我才能够恢复到master,用新的分支名称重新分支,而不用执行预编译步骤。

您使用jquery还是其他什么?也许它被加载了两次。也许,但我找不到它的问题所在。我尝试过改变js库的列出顺序,尝试过注释其他各种js库并重新编译资产,但仍然没有什么乐趣。你尝试过删除jquery ui吗+1比尔。是的,好主意,我试着删除它,我也试着删除jquery引用本身,只是把/=留给jquery_ujs,但这两个都不起作用。好主意。你可以试着让弹出窗口或其他任何东西可以移动,看看是否有两个:)或者简单地检查dom