Это зависит от того, где вы храните свои файлы. Если они находятся в каталоге public
, то, когда кто-то запрашивает его, он не проходит через стек Rails, поэтому единственный способ здесь - прочитать журналы сервера, или в целом это зависит от сервера, который вы используете, и там вы должны посмотреть за ответ на ваш вопрос.
В противном случае, если вы обслуживаете файлы через контроллер, то во время обработки в контроллере вы должны знать, какой пользователь делает этот запрос и какой файл запрашивается. Затем вы можете сохранить каждый запрос на загрузку в специальной таблице с полями, подобными этим: user_id, file_id, file_size
или чем-то подобным, или просто добавить некоторое значение в поле в пользовательской модели, например, в поле total_downloads
. Первое решение лучше, потому что вы точно знаете, какие файлы были загружены и когда.
Конечно, вы не будете знать, прекратил ли пользователь загрузку файла, и он будет учитывать весь размер файла в начале загрузки.