Я просто изучаю ruby на рельсах, и у меня есть таблица ролей пользователей (Owner, Admin и User). В коде будут места, где мне нужно проверить роль пользователя и показать разные параметры. Кто-нибудь знает, как это сделать, не прибегая к магическим числам или другим уродливым методам?
В веб-приложениях ASP.Net, над которыми я работал, я видел это, используя перечисленные типы:
public enum UserRole { Owner = 1, Admin = 2, User = 3 }
// ...
if (user.Role == UserRole.Admin)
// Show special admin options
Каждая отдельная роль в базе данных отражается как перечислимый тип со значением, установленным для идентификатора этой роли в базе данных. Это не похоже на очень хорошее решение, потому что это зависит от знания базы данных, которая может измениться. Даже если это правильный способ справиться с чем-то подобным, я не знаю, как использовать перечисленные типы в рельсах.
Буду признателен за понимание этого вопроса.