Вы можете присвоить необходимый объект model
, а затем
model.class.reflect_on_all_associations.map { |table| model.method(table.name).call }.select(&:any?)
Например:
user = User.first
user.class.reflect_on_all_associations.map { |table| user.method(table.name).call }.select(&:any?)
# returns all associated objects of first user
Вы можете указать результат, используя :has_many
, :has_one
или :belongs_to
в качестве аргумента reflect_on_all_associations
.
Возможно, есть более элегантный способ, но он работает.