我的Rails应用程序中有一个项目表,每个项目都有一个删除链接,如下所示:
<%= link_to "Delete", project, :confirm => "Are you sure?", :method => :delete %>
但是,即使用户在对话框中单击“取消”,也会发送删除请求。
有关如何解决此问题的任何想法?我正在使用Rails 3,Beta 3,jQuery库和附带的jQuery UJS库。
答案 0 :(得分:5)
您需要获取更新版本的rails.js。我使用相同的设置遇到了同样的问题。当我对旧版本和新版本进行区分时,我发现旧版本中的确认处理程序已被注释掉。新版本解决了这个问题。
答案 1 :(得分:3)
如果您使用 jQuery ,请从(http://github.com/rails/jquery-ujs/blob/master/src/rails.js)下载 rails.js 并将其放入p ublic / javascripts 文件夹中。
然后确保模板标题上有以下内容
<%= javascript_include_tag "http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js" %>
<%= javascript_include_tag 'rails' %>
<%= csrf_meta_tag %>
就是这样=)
答案 2 :(得分:0)
我认为你在Table Row中使用了链接。 您可能会在表格行中使用onclick函数,因此当您在删除链接上确认弹出窗口时,当您单击取消时,您的onclick函数将被执行。
这是一个假设,但它可能对您有所帮助。如果没有,请使用相关代码编辑您的问题。
答案 3 :(得分:0)
您将不得不发布有关您的rails和更多代码的更多信息。由于link_to
适用于:confirm
选项。
我可以建议两件事,
link_to "Delete", project, { :confirm => "Are you sure?", :method => :delete }
(早期版本的rails无法处理没有{}
的选项。link_to
并检查。