I've got a table of projects in my Rails app, each with a delete link, like so:
<%= link_to "Delete", project, :confirm => "Are you sure?", :method => :delete %>
However, the delete request is sent even if the user clicks "Cancel" on the dialog box.
Any ideas on how to fix this? I'm using Rails 3, Beta 3, with the jQuery library and accompanying jQuery UJS library.
You need to get a more recent version of rails.js. I was having the same problem using the same setup you have. When I diff'd the old and new versions, I discovered the confirmation handler in the old version was commented out. The new version solves the problem.
Download rails.js from (http://github.com/rails/jquery-ujs/blob/master/src/rails.js) if you are using jQuery and put it in your public/javascripts folder.
Then make sure you have the following on your template's header
<%= javascript_include_tag "http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js" %>
<%= javascript_include_tag 'rails' %>
<%= csrf_meta_tag %>
And that's it =)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With