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