aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_view
diff options
context:
space:
mode:
Diffstat (limited to 'actionpack/lib/action_view')
-rw-r--r--actionpack/lib/action_view/helpers/javascripts/prototype.js6
-rw-r--r--actionpack/lib/action_view/helpers/prototype_helper.rb8
2 files changed, 13 insertions, 1 deletions
diff --git a/actionpack/lib/action_view/helpers/javascripts/prototype.js b/actionpack/lib/action_view/helpers/javascripts/prototype.js
index 0caf9cd7f0..5ba3a30218 100644
--- a/actionpack/lib/action_view/helpers/javascripts/prototype.js
+++ b/actionpack/lib/action_view/helpers/javascripts/prototype.js
@@ -669,6 +669,12 @@ Ajax.Request.prototype = Object.extend(new Ajax.Base(), {
var parameters = this.options.parameters || '';
if (parameters.length > 0) parameters += '&_=';
+ /* Simulate other verbs over post */
+ if (this.options.method != 'get' && this.options.method != 'post') {
+ parameters += (parameters.length > 0 ? '&' : '') + '_method=' + this.options.method
+ this.options.method = 'post'
+ }
+
try {
this.url = url;
if (this.options.method == 'get' && parameters.length > 0)
diff --git a/actionpack/lib/action_view/helpers/prototype_helper.rb b/actionpack/lib/action_view/helpers/prototype_helper.rb
index bf32dd9f49..4c593a40f2 100644
--- a/actionpack/lib/action_view/helpers/prototype_helper.rb
+++ b/actionpack/lib/action_view/helpers/prototype_helper.rb
@@ -39,7 +39,7 @@ module ActionView
# XMLHttpRequest. The result of that request can then be inserted into a
# DOM object whose id can be specified with <tt>options[:update]</tt>.
# Usually, the result would be a partial prepared by the controller with
- # either render_partial or render_partial_collection.
+ # render :partial.
#
# Examples:
# link_to_remote "Delete this post", :update => "posts",
@@ -60,6 +60,12 @@ module ActionView
# influence how the target DOM element is updated. It must be one of
# <tt>:before</tt>, <tt>:top</tt>, <tt>:bottom</tt>, or <tt>:after</tt>.
#
+ # The method used is by default POST. You can also specify GET or you
+ # can simulate PUT or DELETE over POST. All specified with <tt>options[:method]</tt>
+ #
+ # Example:
+ # link_to_remote "Destroy", person_url(:id => person), :method => :delete
+ #
# By default, these remote requests are processed asynchronous during
# which various JavaScript callbacks can be triggered (for progress
# indicators and the likes). All callbacks get access to the