Url_for not working when using aditional route parameters

I have a couple routes where I need to send additional parameters
every time some routes in my app are called.

In order to stay DRY, it makes sense to set these parameters in the
route, rather than passing them through for every url_for request.

Accordingly, I have defined a route as follows:

map.connect “sub_dir/my_friends/find”,
:action=>“search”,
:controller=>“friends”,
:wrap_in_frame=>true,
:frame_height=>900

However, when I call url_for, it doesn’t match the route, even when it
is the first route in my routes.rb.

url_for( :action=>“search”, :controller=>“friends” ) generates the
default route of “/friends/search”, and NOT the route I’ve specified
above.

If I remove the additional parameters (wrap_in_frame and frame_height)
from the route definition, than the url_for matches correctly.

Is it no longer possible to specify additional parameters when using
routes and url_for? The Agile Web D. book states that it is
possible to do this, but it doesn’t seem to work.

Note that I don’t want to use :defaults on the route, because I don’t
ever want the routes to show up in the url. Additionally, I don’t want
to use named routes, because I have a lot of url_for statements, and
want to make sure that the additional parameters are set every time a
certain path is called, regardless of whether a developer remembers to
use the named route or not.

Am I doing something wrong, or is this functionality not supported?

Thanks in advance!