user roles recommendation

10 views
Skip to first unread message

Leonel *.*

unread,
Jul 25, 2011, 2:16:06 PM7/25/11
to rubyonra...@googlegroups.com
I'm in a dilemma. I have a users table. Each user has a role: admin,
manager, agent, customer.

What do you recommend about the users table? Options:
1) in the users table, add a role column, type string, and enter the
role as a string.
2) in the users table, add a role_id column (integer, foreign key) that
connects to a roles table.

I know both ways would work, but I would like to know if one approach is
better than the other and why. What has been your experience?

--basic question from a newbie

--
Posted via http://www.ruby-forum.com/.

Tom Meinlschmidt

unread,
Jul 25, 2011, 2:25:25 PM7/25/11
to rubyonra...@googlegroups.com
if string (text), use serialize and serialize your array of symbols to this column

eg

USER_ROLES = {
:admin => "administrator",
:user => "Common user",
:guest => "guest user"
}

serialize :user_role

and use :user_role as array of roles

or

another table has advantage of some changing, holding other properties (as human name, description, etc)...

> --
> You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
> To post to this group, send email to rubyonra...@googlegroups.com.
> To unsubscribe from this group, send email to rubyonrails-ta...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.

--
===============================================================================
Tomas Meinlschmidt, MS {MCT, MCP+I, MCSE, AER}, NetApp Filer/NetCache

www.meinlschmidt.com www.maxwellrender.cz www.lightgems.cz
===============================================================================

Dheeraj Kumar

unread,
Jul 25, 2011, 2:33:08 PM7/25/11
to rubyonra...@googlegroups.com
If you're making a roles system on your own, I'd recommend using
cancan by Ryan Bates instead. It's very powerful, and integrates with
popular authentication libraries out-of-the-box.

cancan => https://github.com/ryanb/cancan

Everaldo Gomes

unread,
Jul 25, 2011, 2:33:20 PM7/25/11
to rubyonra...@googlegroups.com
I think you could use STI (single table inheritance) and create a class for each role.


Best regards,

Everaldo
Reply all
Reply to author
Forward
0 new messages