Я не знаю, есть ли прямой способ, но это обходной путь (для уже сохраненных записей):
ActiveStorage::Attachment.distinct.pluck(:record_type).map(&:underscore)
Начиная с модели, это необработанная идеяуточнено:
User.reflect_on_all_associations(:has_many).map { |e| e.name.to_s.split("_") }.select { |e| e.last == "attachments" }
User.reflect_on_all_associations(:has_one).map { |e| e.name.to_s.split("_") }.select { |e| e.last == "attachment" }
Примечание == "attachments"
и == "attachment"