From: Jan Provaznik <jprovazn(a)redhat.com>
restful_submit plugin doesn't work properly in rails 3 if rails
relative root url (/conductor) is used. This is a temporary fix
until fix get into rack-restful_submit release.
This patch removes root prefix from restful_submit paths (as rails 3
apparently expects paths w/o root prefix).
---
src/config/initializers/rack-restful_submit.rb | 19 +++++++++++++++++++
1 files changed, 19 insertions(+), 0 deletions(-)
create mode 100644 src/config/initializers/rack-restful_submit.rb
diff --git a/src/config/initializers/rack-restful_submit.rb b/src/config/initializers/rack-restful_submit.rb
new file mode 100644
index 0000000..3123a27
--- /dev/null
+++ b/src/config/initializers/rack-restful_submit.rb
@@ -0,0 +1,19 @@
+module Rack
+ class RestfulSubmit
+ def rewrite_request(env, prefixed_uri)
+ # rails 3 expects that relative_url_root is not part of
+ # requested uri, this fix also expects that mapping['url']
+ # contains only path (not full url)
+ uri = prefixed_uri.sub(/^#{Regexp.escape(env['SCRIPT_NAME'].to_s)}\//, '/')
+
+ env['REQUEST_URI'] = uri
+ if q_index = uri.index('?')
+ env['PATH_INFO'] = uri[0..q_index-1]
+ env['QUERYSTRING'] = uri[q_index+1..uri.size-1]
+ else
+ env['PATH_INFO'] = uri
+ env['QUERYSTRING'] = ''
+ end
+ end
+ end
+end
--
1.7.6