From: Jan Provaznik jprovazn@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