在我正在构建的网站的CMS中,我使用Paperclip来处理文件上传。用户可以上传图像,必须为每个图像提供简要描述,然后用于命名图像(用于SEO)和用于图像的alt标记。每个图像都被调整为一些预定义的大小并存储在S3上。
用户可以在许多地方使用此图像,实际上创建多种不同类型的模型,每种类型都与特定图像相关。因此,考虑到我需要存储有关图像的元数据(其描述),并且我需要在多个模型之间共享单个图像,似乎将图像封装在其自己的模型中是有意义的,然后可以将其添加为任何需要它的模型上的关联。然后,Image模型具有Paperclip的附加文件。这意味着我不需要在引用图像的任何模型上存储重复信息。
我的担忧是性能问题。现在,任何图像请求都需要通过Image模型进行,而不是直接作为属性访问URL。
这是否是明智的解决方案,还是应该以不同的方式处理?
用户可以在许多地方使用此图像,实际上创建多种不同类型的模型,每种类型都与特定图像相关。因此,考虑到我需要存储有关图像的元数据(其描述),并且我需要在多个模型之间共享单个图像,似乎将图像封装在其自己的模型中是有意义的,然后可以将其添加为任何需要它的模型上的关联。然后,Image模型具有Paperclip的附加文件。这意味着我不需要在引用图像的任何模型上存储重复信息。
我的担忧是性能问题。现在,任何图像请求都需要通过Image模型进行,而不是直接作为属性访问URL。
这是否是明智的解决方案,还是应该以不同的方式处理?
@user.avatar.url
。 - claptimes@item.image.url
和@item.image_url
之间的区别吗? - claptimes