I've been working on getting my routes right the past couple of days and I'm happy to report that its working, as far as I can tell. Our new application, GradeSheet, is an online grade management system for the education system. Teachers, students, and eventually parents will be able to log into the system and get an ongoing glimpse into their grades.

One of the early problems I'm having is how to arrange the pages in the site. Since teachers & students are both types of users I wanted them to be represented in some similar manner. I finally ended up using a users/+ pattern to reference them. users/students would allow you to work with students while users/teachers would allow you to work with teacher information. This should allow the system to grow into different types of users without much hassle but still allow a unique controller for each user type. That way you can tune a specific user type to do different things (i.e. Students have a Class Of attribute).

I have to give thanks to IRC user rolfb on the #rubyonrails channel on Freenode for all his help. He led me down the road to using route namespaces and made it all possible. He also stuck with me though many of my stupid questions and patiently helped me work through it. Thanks again, rolfb!