Ich lerne gerade Ruby on Rails und ich habe eine Tabelle von Benutzerrollen (Besitzer, Admin und Benutzer). Es werden Stellen im Code sein, an denen ich die Rolle des Benutzers überprüfen und verschiedene Optionen anzeigen muss. Weiß jemand, wie man das macht, ohne auf magische Zahlen oder andere hässliche Methoden zurückzugreifen? Rails aufgezählte Typen oder Alternativen
In ASP.Net-Web-Apps Ich habe auf die ich gearbeitet habe dies durch die Verwendung von Aufzählungstypen getan gesehen:
public enum UserRole { Owner = 1, Admin = 2, User = 3 }
// ...
if (user.Role == UserRole.Admin)
// Show special admin options
Jede andere Rolle in der Datenbank als Aufzählungstyp mit einem Wert widerspiegelt Legen Sie die ID dieser Rolle in der Datenbank fest. Das scheint keine sehr gute Lösung zu sein, da es auf Datenbankwissen ankommt, das sich ändern kann. Auch wenn es der richtige Weg ist, um so etwas zu handhaben, weiß ich nicht, wie man aufgezählte Typen in Schienen benutzt.
Ich würde jede Einsicht in diese Angelegenheit schätzen.
Auch hat Ryan Bates eine gute Authorization Juwel namens Cancan und einen schönen Tutorial auf seiner Website (http://railscasts.com/episodes/192 -Autorisierung mit Cancan –