Rails 3确认删除 - 在IE8中,按取消仍然删除

时间:2011-07-14 16:59:38

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

遵循Michael Hartl的教程。在Ubuntu下使用Rails 3.0.9。以下标题位于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:“OK”删除用户,“取消”不(好)
  • Win7下的Firefox 5:“确定”删除用户,“取消”不(好)
  • Win7下的IE8:“OK”和“取消”都删除了用户(坏!)

使用IE8时,为什么取消调用删除代码,我该如何解决?有没有办法测试取消确实取消了操作,无论使用什么浏览器?

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

1 个答案:

答案 0 :(得分:0)

确保将此包含在您的脑海中。

app/views/layouts/application.html.erb

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