Я имею дело с Mongoid, carrierwave и gridFS для хранения своих загрузок.
Например, у меня есть модельная статья, содержащая файл загрузки (изображение).
class Article
include Mongoid::Document
field :title, :type => String
field :content, :type => String
mount_uploader :asset, AssetUploader
end
Но я бы хотел сохранить файл только один раз, в случае, если я буду много раз загружать один и тот же файл для разных статей.
Я видел, что GridFS имеет контрольную сумму MD5.
Как лучше всего предотвратить дублирование одинаковых файлов?
EDIT:
На самом деле, на моем сайте пользователи смогут загружать файлы.
Но чтобы избежать хранения нескольких идентичных файлов, я хотел бы просто сделать ссылки через таблицу ассоциаций. Ничего сложного, но как это сделать в библиотеках, указанных ниже.
Если у вас есть идеи.
Спасибо