ruby-on-rails - Rails 3 确认删除 - 在 IE8 中,按取消仍会删除

标签 ruby-on-rails internet-explorer-8

遵循 Michael Hartl 的教程。在 Ubuntu 下使用 Rails 3.0.9。以下 header 位于 application.html.erb 中:

<head>
  <title><%= title %></title>
  <%= csrf_meta_tag %>
  <%= render 'layouts/stylesheets' %>
  <%= javascript_include_tag :defaults %>
</head>

没有 jQuery。教程Listing 10.38指定调用删除操作,如下所示:

<%= link_to "delete", user, :method => :delete, :confirm => "You sure?",
                            :title => "Delete #{user.name}" %>

这是生成的 HTML 的示例:

<a href="/users/13" data-confirm="You sure?" data-method="delete" 
 rel="nofollow" title="Delete Mylene Gaylord">delete</a>

我测试了三种浏览器下的确认:

  • Ubuntu 下的 Firefox 3:“确定”删除用户,“取消”不删除用户(好)
  • Win7 下的 Firefox 5:“确定”删除用户,“取消”不删除用户(好)
  • Win7 下的 IE8:“确定”和“取消”都删除用户(不好!)

使用IE8时,为什么Cancel调用的是Delete代码,如何解决?有没有一种方法可以测试 Cancel 实际上是否取消操作,无论使用什么浏览器?

2011 年 9 月 29 日更新:升级到 Rails 3.1 并从 Prototype 转换为 jQuery(教程部分 13.1.4)后,IE8 正常运行:按取消中止删除操作。然而,这并没有回答为什么 IE8 不能使用 Prototype 取消从 Rails 3.0.9 中删除的原始问题。

最佳答案

确保将此包含在脑海中。

app/views/layouts/application.html.erb

<!DOCTYPE html>
<html>
    <head>
        <%= csrf_meta_tag %>
    </head> 
    <body>
        HtML
    </body>
</html>     

关于ruby-on-rails - Rails 3 确认删除 - 在 IE8 中,按取消仍会删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6697125/

相关文章:

jquery - 如何重新排序所见即所得编辑器的控件

ruby-on-rails - Ruby one liner 替换大块代码

ruby-on-rails - Rspec中的solr拒绝了连接

html - respond.js 可以处理内部样式表

javascript - 从日期/时间小时计数中排除周末

ruby-on-rails - 使用 key HTTP_AUTHORIZATION 而不是授权访问 Ruby on Rails 中的授权 header ?

javascript - IE8 控制台.log

java - Selenium2 的 Select 对象不会在 IE8 中触发 onchange 事件

javascript - 使用 jQuery 在 IE8 中淡入和淡出时遇到问题

ruby-on-rails - 你如何使用 cancan 和 devise 添加角色 rolify?