Monkey patch escaping in redirect routes

The correct method of escaping depends on whether the parameter
is being substituted in the path or the query, but all our ones
are substitued in the path so use URI.escape instead of the
standard Rack::Utils.escape which does query escaping.

https://github.com/rails/rails/issues/13110
This commit is contained in:
Tom Hughes 2013-11-30 13:46:07 +00:00
parent a2b9f593f5
commit 309831a619

View file

@ -0,0 +1,16 @@
require "action_dispatch/routing/redirection"
#
# Fix escaping in routes to use path style escaping
#
# https://github.com/rails/rails/issues/13110
#
module ActionDispatch
module Routing
class PathRedirect < Redirect
def escape(params)
Hash[params.map{ |k,v| [k, URI.escape(v)] }]
end
end
end
end