aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_view/helpers/javascripts/prototype.js
diff options
context:
space:
mode:
authorDavid Heinemeier Hansson <david@loudthinking.com>2006-05-29 00:05:13 +0000
committerDavid Heinemeier Hansson <david@loudthinking.com>2006-05-29 00:05:13 +0000
commit2b5894741bdbc4b7e8ba7764eabbcfe33123dbfc (patch)
tree60b76e9aa4381150a4559b295b8b350ea3185b63 /actionpack/lib/action_view/helpers/javascripts/prototype.js
parent140a998de31ed4547e0d21715165f4b338030673 (diff)
downloadrails-2b5894741bdbc4b7e8ba7764eabbcfe33123dbfc.tar.gz
rails-2b5894741bdbc4b7e8ba7764eabbcfe33123dbfc.tar.bz2
rails-2b5894741bdbc4b7e8ba7764eabbcfe33123dbfc.zip
Expanded :method option in FormTagHelper#form_tag, FormHelper#form_for, PrototypeHelper#remote_form_for, PrototypeHelper#remote_form_tag, and PrototypeHelper#link_to_remote to allow for verbs other than GET and POST by automatically creating a hidden form field named _method, which will simulate the other verbs over post [DHH]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4375 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'actionpack/lib/action_view/helpers/javascripts/prototype.js')
-rw-r--r--actionpack/lib/action_view/helpers/javascripts/prototype.js6
1 files changed, 6 insertions, 0 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)