Создание рельсового приложения B2B, которое будет иметь разных пользователей.Я довольно четко ограничиваю доступ для внутреннего персонала с помощью Devise и CanCan, но я хочу иметь возможность предоставить поставщикам и клиентам также свой собственный логин.Клиент будет довольно простым, однако я хочу убедиться, что логин поставщика (ярлык) позволяет ему просматривать и изменять только свои собственные данные о продукте и продажах.
Модель примерно равна:
User (as setup by Devise)
Label [has_many releases]
Release [belongs_to label / has_many products]
Product [belongs_release / has_many tracks]
Track [belongs_product]
Полагаю, я мог бы добавить поле label_id в модель пользователя и связать его таким образом, но мне нужны внутренние пользователи (и клиенты), чтобы иметь доступ для просмотра всех данных метки.Мне также нужно разрешить метке иметь много пользователей.
Будет ли это просто случай определения роли «метки» через Cancan, который навязывает использование label_id в представлениях?Если это правильный подход, как мне тогда заблокировать контент с этим label_id в моих контроллерах / представлениях?Ролевые заявления if?
Заранее спасибо!