Вы можете определить пользовательскую область для Transaction
s, которые создаются Manager
и его employees
:
class Transaction
scope :belonging_transactions, ->(manager) do
where(transactable_type: "Manager", transactable_id: manager.id)
.or(transactable_type: "Employee", transactable_id: manager.employees.ids)
end
end
В качестве альтернативы, вы можете определить метод класса, который делает то же самое:
class Transaction
def self.belonging_transactions(manager)
where(transactable_type: "Manager", transactable_id: manager.id)
.or(transactable_type: "Employee", transactable_id: manager.employees.ids)
end
end