Rails Types Énumérés ou des solutions de rechange

Je suis en train d'apprendre ruby on rails et j'ai une table de rôles d'utilisateur (Propriétaire, Administrateur, Utilisateur). Il va y avoir des endroits dans le code où j'ai besoin de vérifier le rôle de l'utilisateur et de montrer les différentes options. Personne ne sait comment faire cela sans avoir recours à des numéros de magie ou autre laid méthodes?

Dans ASP.Net web apps j'ai travaillé, j'ai vu ce fait grâce à l'utilisation de types énumérés:

public enum UserRole { Owner = 1, Admin = 2, User = 3 }

//...

if (user.Role == UserRole.Admin)
    //Show special admin options

Chaque rôle différent dans la base de données correspond à un type énuméré avec une valeur de l'ID de ce rôle dans la base de données. Qui ne semble pas être une très bonne solution, car il dépend de la connaissance de la base de données qui peut changer. Même si c'est la bonne façon de manipuler quelque chose comme ça, je ne sais pas comment utiliser les types énumérés dans les rails.

J'apprécierais toute réflexion sur ce sujet.

InformationsquelleAutor Jason | 2009-05-26