У меня определена следующая групповая способность:
# Group abilities
can :manage, Group do |group|
user.in_group?(group, as: :owner)
end
то, что я хочу для приглашения, выглядит примерно так:
can :manage, Invite do |invite|
can?(:manage, invite.group)
end
Другими словами, я хотел бы поддержать пользователей имея возможность создавать приглашения для группы, владельцем которой они являются. Поскольку у групп может быть несколько владельцев (через объект GroupMemberships), я не могу использовать правила простой ассоциации ha sh. Я также не могу использовать блок, потому что в InvitesController#create
нет экземпляра @invite
.
Как бы вы, go, написали правило способности для этого сценария?