在我正在构建的网站的 CMS 中,我使用 Paperclip 来处理文件上传。用户可以上传图片,并且必须给每张图片一个简短的描述,然后用于命名图片(用于 SEO)和图片的 alt 标签。每个图像都被调整为多个预定义的大小并存储在 S3 上。
用户可以在许多地方使用此图像,有效地创建多种不同类型的模型,每个模型都引用一个特定的图像。
因此,鉴于我需要存储有关图像的元数据(其描述)并且我需要在多个模型之间共享单个图像,将图像封装在它自己的模型中似乎是有意义的,然后可以将其添加为任何需要它的模型的关联。该Image
模型然后具有回形针的附加文件。这意味着我不需要在引用图像的任何模型上存储重复信息。
我关心的是性能之一。现在,任何图像请求都需要通过Image
模型,而不是直接将 URL 作为属性访问。
这是一个明智的解决方案还是我应该以不同的方式解决这个问题?