is having controller within controller bad practice?

That’s a perfectly valid URL, but it won’t mean ‘controller-in-controller’. Rails routes are incredibly powerful, try something like this (near the bottom to allow for other custom routes to take precendence).

map.connect ‘:region/:controller/:action/:id’

Then your :controller/:action will get:

params = {
:region => ‘southern’,
:id => 3


Yep, it would work pretty much like that. Anything on the URL gets split up according to route definitions and placed into params.