微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

原文地址:https://www.jb51.cc/ruby/268042.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐