Following Michael Hartl's tutorial. Using Rails 3.0.9 under Ubuntu. The following header is in application.html.erb:
<head>
<title><%= title %></title>
<%= csrf_meta_tag %>
<%= render 'layouts/stylesheets' %>
<%= javascript_include_tag :defaults %>
</head>
No jQuery. Tutorial Listing 10.38 specifies the Delete action be called as follows:
<%= link_to "delete", user, :method => :delete, :confirm => "You sure?",
:title => "Delete #{user.name}" %>
Here is an example of the generated HTML:
<a href="/users/13" data-confirm="You sure?" data-method="delete"
rel="nofollow" title="Delete Mylene Gaylord">delete</a>
I've tested the confirmation under three browsers:
- Firefox 3 under Ubuntu: "OK" deletes user, "Cancel" does not (good)
- Firefox 5 under Win7: "OK" deletes user, "Cancel" does not (good)
- IE8 under Win7: both "OK" and "Cancel" delete user (bad!)
When using IE8, why is Cancel calling the Delete code, and how do I fix it? Is there a way to test that Cancel does, in fact, cancel the action, no matter what browser is used?
Update 9/29/2011: after upgrading to Rails 3.1 and converting from Prototype to jQuery (Tutorial section 13.1.4), IE8 behaves properly: pressing Cancel aborts the delete action. However that doesn't answer the original question of why IE8 can't Cancel the delete from Rails 3.0.9 with Prototype.