最初没有出现任何确认
我发现将//= query_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>
答案是资产编译
我们的系统设置为在运行时自动编译资产。
我(错误地)也做了一个rake assets:precompile
,所以我基本上复制了js并创建了副本。我注意到,在预编译theta时,它创建了很多文件,这是一个危险信号,说明为什么事情发生了变化,双击已经开始(尽管当使用预编译时,它有它的位置)。
多亏了git,我可以恢复到master,用一个新的分支名称重新命名,而不需要执行预编译步骤。