Design of admin section


I made few simple pages before using rails and I always created separate
set of controllers for admin section and put them in a group. However,
using this method, some actions were identical with actions for a
‘normal’ user. So i was thinking about creating just a single controller
for both ‘normal’ user and admin at the same time, where some actions
could be only accessed by admin and the content would be displayed
differently depending on who’s actually logged in. However, I’m not sure
if putting all functionality into a single controller, won’t make it all
just more complicated (more code in a single controller etc.)

Do you have any suggestions or maybe know a tutorial or a blog entry
discussing this problem?

Concepts that come to mind are:

  • role based authentication
  • grouping controllers into name spaces [1]
  • with_scope [2]

These might not be the best articles, but just to get you started: