Я начал писать приложение с использованием declarative_authorization (http://github.com/stffn/declarative_authorization), но теперь мне интересно, правильно ли он подходит.Rails - Роли или Наследование?
В моем приложении я предоставлял некоторым пользователям «клиентскую» роль, некоторую роль «администратора» и некоторую роль «суперадмина». Это работает хорошо, но теперь я понимаю, что мне нужно некоторые поля на моделях, которые являются специфическими для «клиента»
SuperAdmin = администратор редактора
Администратора = клиент редактор
Клиента = имеют дополнительные атрибуты как «аватар»
В этот момент я начал создавать модель Customer, которая унаследовала от пользователя. Однако в этом случае клиенты всегда будут иметь «клиентскую» роль, и только клиенты будут иметь эту роль. Это было немного странно.
Я предполагаю, что я ищу небольшое руководство для этого сценария.
Вы предполагаете, что, возможно, администратор просто обычный пользователь? В реальном приложении на самом деле есть третий уровень - суперадмин, которому разрешено редактировать администраторов. Superadmin = редактор администратора Администратор = редактор клиента Клиент = имеет дополнительные атрибуты, такие как «avatar» –
Отредактированный исходный вопрос, чтобы включить эту информацию. –