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
--- /dev/null
+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