Мне нужно создать системы разрешений на основе ролей в моем приложении Rails. Я был бы полностью доволен CanCan, но главная проблема - он должен быть динамическим, чтобы администратор мог назначать разрешения и создавать новые роли. Разрешения могут быть простыми ограничениями контроллера / действий и могут быть связаны с данными, например, некоторые пользователи могут редактировать только свои собственные профили, а некоторые из них могут редактировать профили всех пользователей в определенной группе. И было бы неплохо разрешить администратору создавать новые разрешения.
Я думаю о том, чтобы сохранить в базе данных контроллер / действие и некоторые ограничения, связанные с данными (я действительно не понимаю, как их определить). Не могли бы вы дать мне несколько советов, как лучше всего организовать разрешения?
Приветствую любые мысли