On 08/22/2011 05:03 PM, jprovazn@redhat.com wrote:
From: Jan Provaznikjprovazn@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
ACK