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的附件表.

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...