ruby-on-rails – rails paperclip:通用的“附件”模型是个好主意吗?

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – rails paperclip:通用的“附件”模型是个好主意吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在我的应用程序中,我使用 paperclip有几个带附件的东西.

>客户有一个徽标.
>商店可以有一张或多张图片.这些图片还可以有其他图片
信息,例如拍摄日期.
>产品可以有一张或多张图片,分类(从字体,到
回来等).

目前,我的每个模型都有自己的“paperclip-fields”(Client has_attached_file)或has_many模型,附带文件(Store has_many StorePictures,Product has_many ProductPictures)

我的客户还告诉我,将来我们可能会在系统中添加更多附件(即客户下载的pdf文档).

我的应用程序有一个相当复杂的授权系统,用declarative_authorization实现.例如,不能从他不允许“看到”的产品下载图片.

我正在考虑重新分解我的代码,以便我可以使用通用的“附件”模型.所以任何模型都可以has_many:附件.

有了这个背景,这听起来像个好主意吗?或者我应该继续制作Foos和FooPictures吗?

解决方法

我发现通常情况下,通用附件类比各种其他类型的记录上的独立附件更容易管理.简单附件方法的唯一缺点是需要生成缩略图是为所有可能的附件同时定义的,而不是根据具体情况定义的.

允许更大灵活性的混合方法是通过包含“类型”列并创建特定于用户的子类(如定义特定样式的ProductAttachment)来创建基于STI的附件表.

猜你在找的Ruby相关文章