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 Development 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!