Routing via regexp with map.resources?

I have a requirement to support a query syntax on my resources like so:


I can hook that up so that the people controller receives that action via map.connect like so:

map.connect ':people_query_regexp',              :controller => 'people',              :index => 'index',              :requirements => { :people_query_regexp => /people.*/ }

But people is a RESTful resource, so I want to do the same thing using map.resources instead of map.connect. If I change the routing to:

map.resources ':parties_query_regexp',                :controller => 'parties',                :requirements => { :parties_query_regexp => / parties.*/ }

...then the server fails on startup like so:

lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/action_controller/routing/ route_set.rb:141:in `define_hash_access': (eval):3:in `define_hash_access': compile error (SyntaxError) (eval):1: syntax error, unexpected ':', expecting '\n' or ';'              def hash_for_:people_query_regexp_index_pat...

It chokes on a syntax error because there's a colon in the middle of the method name it's trying to define.

So is there a way around this? What am I doing wrong? This is Rails 2.2.2, btw.

Thanks. --mark