将图像存储为Rails中的模型

Und*_*ion 4 file-upload ruby-on-rails image paperclip ruby-on-rails-3

在我正在构建的网站的CMS中,我正在使用Paperclip来处理文件上传.用户可以上传图像,并且必须为每个图像提供简要描述,然后将其用于命名图像(用于SEO)和图像的alt标记.每个Image都调整为大量预定义大小并存储在S3上.

用户可以在许多地方利用该图像,有效地创建多种不同类型的模型,每种模型都参考特定图像.

因此,我需要存储关于图像的元数据(其描述),并且我需要在多个模型之间共享单个图像,将图像封装在自己的模型中似乎是有意义的,然后可以将其添加为任何需要它的模型的关联.Image然后该模型具有Paperclip的附件.这意味着我不需要在任何引用图像的模型上存储重复信息.

我担心的是表现.现在,任何图像请求都不需要直接作为属性访问URL,而是需要通过Image模型.

这是一个明智的解决方案还是我应该以不同的方式处理这个问题?

pdu*_*uey 5

你正在考虑它是完全正确的.你想要Rails多态关联,在这里记录.实际上,图像是示例中使用的用例.

任何性能差异都可以忽略不计,并且可能比你手动推出其他解决方案更好.