У меня есть объект Задача.
Задачи принадлежат пользователю ИЛИ компании.
Пользователь может принадлежать многим компаниям по найму (например, региональный менеджер).
Есть ли способ, которым я могу проверить с помощью cancan, чтобы определить, принадлежит ли задача пользователю или одной из компаний, к которой он принадлежит?
т.е.
can :manage, Task, do |task|
task.user_id == user.id || user.companies.each do |company|
task.company_id == company.id
end
end