В Rails 5 есть метод left_joins
, так что вы можете использовать его вместо includes
(или eager_load
, который работает здесь аналогичным образом), так как в этом случае он подходит лучше.Кроме того, таблица, к которой вы действительно должны присоединиться, чтобы получить то, что вы хотите, - active_storage_attachment
, которая связана как file_attachment
- ReportFile
.Таким образом, я думаю, что лучший способ получить то, что вы хотите, это:
Report.left_joins(report_file: :file_attachment).where(active_storage_attachments: { id: nil })