diff --git a/actionpack/lib/action_view/helpers/scriptaculous_helper.rb b/actionpack/lib/action_view/helpers/scriptaculous_helper.rb
index f7a9daf606..69fab27ac8 100644
--- a/actionpack/lib/action_view/helpers/scriptaculous_helper.rb
+++ b/actionpack/lib/action_view/helpers/scriptaculous_helper.rb
@@ -192,6 +192,9 @@ def drop_receiving_element_js(element_id, options = {}) #:nodoc:
options[:accept] = array_or_string_for_javascript(options[:accept]) if options[:accept]
options[:hoverclass] = "'#{options[:hoverclass]}'" if options[:hoverclass]
+ # Confirmation happens during the onDrop callback, so it can be removed from the options
+ options.delete(:confirm) if options[:confirm]
+
%(Droppables.add(#{element_id.to_json}, #{options_for_javascript(options)});)
end
end
diff --git a/actionpack/test/template/scriptaculous_helper_test.rb b/actionpack/test/template/scriptaculous_helper_test.rb
index 8d55804fee..91856ff980 100644
--- a/actionpack/test/template/scriptaculous_helper_test.rb
+++ b/actionpack/test/template/scriptaculous_helper_test.rb
@@ -88,8 +88,10 @@ def test_drop_receiving_element
drop_receiving_element("droptarget1", :accept => 'products', :update => 'infobox')
assert_dom_equal %(),
drop_receiving_element("droptarget1", :accept => ['tshirts','mugs'], :update => 'infobox')
- end
+ assert_dom_equal %(),
+ drop_receiving_element('droptarget1', :hoverclass=>'dropready', :url=>{:action=>'update_drop'}, :confirm => 'Are you sure?')
+ end
def protect_against_forgery?
false
end