Я где-то читал, что использование Rolify/Devise/Cancancan было лучшей альтернативой настройке двух моделей устройств с функциями входа в систему (с использованием одной страницы входа вместо двух) и их соответствующих связей между другими моделями. Я не понимаю, как установить роли внутри и по-прежнему использовать ассоциации. Например:
Если бы я использовал две модели Devise, они были бы просто...
class Supervisor < ApplicationRecord
has_many :employees
end
class Employee < ApplicationRecord
belongs_to :supervisor
end
Но с Rolify я хотел бы сделать следующее:
- Администратор — этот пользователь должен иметь возможность устанавливать роли других пользователей
- Руководитель - (например, этот пользователь может установить расписание сотрудников)
- Сотрудник
Я ошибаюсь? Я знаю, что пример расплывчатый, и я нигде не могу найти ответ о том, как настроить ассоциации с ролями.
Я согласен не класть все яйца в корзину Rolify. Я только что прочитал о STI (наследование одной таблицы), и, похоже, он решил мою проблему прямо сейчас. Он заботится о единственной странице входа и устанавливает роль из того, что я вижу в консоли. Мне нравится идея самореферентных отношений, но, честно говоря, я все еще выясняю ассоциации и не слишком хорошо разбираюсь в этом, поэтому мне, возможно, придется немного поэкспериментировать с этим, но я уверен, что скоро столкнусь с чем-то, но спасибо за ваш вклад!