Если требуется иметь семантически корректный HTML, то необходимо использовать таблицы только для табличных данных.
Иначе Вы используете таблицы для всего, что Вы хотите, но вероятно, существует способ сделать то же самое с помощью div
с и CSS.
Одним из дополнительных столбцов, которые вы можете использовать со скрепкой, является OBJECT_file_size, который можно суммировать как
# Assuming a user has many files relationship
@user.uploads.sum(:image_file_size)
Что касается фактического наложения ограничения, я бы рекомендовал создать настраиваемую проверку для всего файловая модель такова, что вы можете передавать ошибки и проблемы обратно клиенту.
Скрепка сохраняет размер файла.
Таким образом, вы можете просто для одного пользователя сделать что-то вроде:
def used_file_size
self.files.sum(:document_file_size)
end
Тогда у вас будет общий размер документов каждого пользователя.
Затем вы можете добавить ограничение максимального размера и не проверять загрузку документа, если пользователь достиг этого размера.