В моем приложении есть несколько вещей с вложениями, используя скрепку .
- Клиенты имеют один логотип.
- Магазины могут иметь одну или несколько картинок. Эти картинки, кроме того, могут иметь другие
информация, такая как дата, когда они были взяты.
- Продукты могут иметь одну или несколько картинок, классифицированных (из шрифта, из
назад и т. д.).
На данный момент каждая из моих Моделей имеет свои собственные «поля скрепок» (Client has_attached_file) или модели has_many, к которым прикреплены файлы (Store has_many StorePictures, Product has_many ProductPictures)
Мой клиент также сказал мне, что в будущем мы можем добавить в систему больше вложений (т. Е. Документы в формате pdf для загрузки клиентами).
В моем приложении довольно сложная система авторизации, реализованная с помощью Declarative_authorization . Например, нельзя загружать изображения из продукта, который ему запрещено «видеть».
Я подумываю о перефакторинге моего кода, чтобы у меня была общая модель "Attachment". Так что любая модель может has_many :attachments
.
С этим контекстом это звучит как хорошая идея? Или я должен продолжать делать Foos и FooPictures?