The controller and model do not share a 1 to 1 relationship although
in many apps that is what you end up with. It keeps the app simple
and easy to understand when you go back to it later.
The think I love about rails is that most of the time when I'm
debugging, I read the error and immediately know what the problem is.
Recently, I took a look at a rails CMS/Shopping cart called
Substruct. It works well but when I tried to customize it, I found I
spent most of my time digging through controllers and models trying to
figure out how it worked so I could change it for my needs. I could
not find a pattern of mapping models to controllers at all and after a
while, it reminded me of debugging php apps.
Some apps I've written contain controllers that are not mapped 1 to 1
with models and that is fine because in that instance there was a good
reason for it but even in those apps, most of the models/controllers
are 1 to 1.
For me, the organization of controllers and models is about keeping
the code clean and easy to understand and come back to later.