[英]rails + paperclip: Is a generic “Attachment” model a good idea?
在我的應用程序中,我使用回形針有幾個帶有附件的東西。
目前,我的每個模型都有自己的“paperclip-fields”(Client has_attached_file)或has_many模型,附帶文件(Store has_many StorePictures,Product has_many ProductPictures)
我的客戶還告訴我,將來我們可能會在系統中添加更多附件(即客戶下載的pdf文檔)。
我的應用程序有一個使用declarative_authorization實現的相當復雜的授權系統。 例如,人們無法從他不允許“看到”的產品中下載圖片。
我正在考慮重新分解我的代碼,所以我可以有一個通用的“附件”模型。 所以任何模型都可以has_many :attachments
。
有了這個背景,這聽起來是個好主意嗎? 或者我應該繼續制作Foos和FooPictures嗎?
我發現通常情況下,通用附件類比各種其他類型的記錄上的獨立附件更容易管理。 簡單附件方法的唯一缺點是需要生成的縮略圖是為所有可能的附件同時定義的,而不是根據具體情況定義的。
允許更大靈活性的混合方法是創建基於STI的附件表,方法是包含“類型”列並創建特定於用途的子類,例如定義特定樣式的ProductAttachment。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.