Dynamic controller dispatching in rails 3

Is there any offical way you could dynamically dispatch controllers in
Rails 3?
My goal is to invoke different controllers based on path segments like
this:

/news/sport-blog, should map to a blog controller
or
/news/sports/2, should map to a page controler

In the example cases above, the path should be queried from a STI page
model, and the type attribute should decide which controller to
invoke.

psuedo code:
match “*path_segments”, :to =>
“#{Page.find_by_path(params[:path_segments]).type}#index

The idea behind this is that it fits very nice in a cms system where
informative url:s are important. I’ve looked at other cms systems
built on Rails, many uses a single catch-all controller, but that
forces you to write another dispatcher on your own.

Thanks in advance
Fredrik Martenson