Cancancan сочетает в себе возможности для нескольких пользователей - PullRequest
0 голосов
/ 16 ноября 2018

У меня есть AuthUser, которому принадлежит несколько User с. Эти пользователи являются частью разных организаций, и у всех есть разные способности в этих организациях.

Структура выглядит примерно так:

enter image description here

Учитывая AuthUser и Product, я хочу знать, если я can?(:read, product). Это, очевидно, должно пройти через способности User, поэтому я мог бы пройтись по каждому из User, прикрепленных к AuthUser и проверить, но я бы действительно хотел бы использовать * Метод 1020 * присоединен к ActiveRelation, так что все это может быть сделано в одном запросе к БД (из БД могут быть возвращены сотни или тысячи продуктов, и это, по сути, вложенные циклы for).

Есть ли способ сделать это?

...