:escape => false is only used in UrlHelper's :url_for. It is not
passed to RoutSet's :generate, and thus not to the Route or its
Segments. Thus, regardless of the :escape setting, generating a URL
from a route (named or otherwise) will always escape each segment, and
thus the whole path.
Problem in detail:
I have a Tag class, and I'd like routes like
The problem comes in with tags that have a period, forward-slash,
question mark, or octothorp in them, since any of those can indicate
the end of a path segment. Thus, I have
class Tag ...
URI::encode self.name, /[\/.?#]/
The problem is that the resulting %xy is always double-escaped to
1. pass :escape to Segment. I believe the offending method is
2. do no escaping in Segment; only do escaping in UrlHelper and/or
I'm not sure of the ramifications of either. Suggestions?