Вы можете сделать:
Departure.joins(:pre_trip_documents_attachments)
Это будет иметь больше смысла, если вы посмотрите на источник has_many_attached
, который вы можете найти здесь .
Подводя итог, has_many_attached :pre_trip_documents
приводит к:
has_many :"pre_trip_documents_attachments", -> { where(name: "pre_trip_documents") }, as: :record, class_name: "ActiveStorage::Attachment" ...
Итак, звонок Departure.joins(:pre_trip_documents_attachments)
дает вам:
SELECT "departures".* FROM "departures" INNER JOIN
"active_storage_attachments" ON
"active_storage_attachments"."record_id" = "departures"."id" AND
"active_storage_attachments"."record_type" = 'Departure' AND
"active_storage_attachments"."name" = 'pre_trip_documents'