+1  A: 

It's difficult to answer because the sort of questions you're asking require us to decide how your application will work. You have to do that yourself and make appropriate design & programming based on your decision.

As for display of HABTM records, I usually use checkboxes or some graphical readonly equivalent.

My suggestion is that you look around the web to see how it works on other sites - social sites like Flickr and Facebook are a good hunting ground as they have lots of groups, categories etc.

Leo
ok thanks Leo... BUT if you were the programer... how would you do it? thats what i want to know...
juan
i think that i need 4 "backends", one for each role... but the main question is how to manage users with two roles
juan
Without knowing what it is you wish to achieve, I can't offer an answer. If you are clear in your own mind what you want, then that is what you program for.
Leo
A: 

user admin routing... and have many prefixes. and may be in the place where you display user information. you can also list the other roles he can play.

Harsha M V