Trên đơn đăng ký của tôi, tôi có một vài thứ có đính kèm trên chúng, sử dụng paperclip.đường ray + kẹp giấy: Có phải mô hình "Tệp đính kèm" chung là một ý tưởng hay không?
- Khách hàng có một biểu tượng.
- Cửa hàng có thể có một hoặc nhiều hình ảnh. Những hình ảnh này, ngoài ra, có thể có các thông tin khác chẳng hạn như ngày chúng được chụp.
- Sản phẩm có thể có một hoặc nhiều hình ảnh của chúng, được phân loại (từ phông chữ, từ trở lại, v.v ...).
Còn bây giờ, mỗi một trong những mô hình của tôi có riêng của mình "kẹp giấy-lĩnh vực" (Client has_attached_file) hoặc mô hình has_many đó có đính kèm file (StorePictures cửa hàng has_many, ProductPictures has_many sản phẩm)
Khách hàng của tôi cũng có nói với tôi rằng trong tương lai chúng tôi có thể thêm nhiều tệp đính kèm hơn vào hệ thống (ví dụ: tài liệu pdf để khách hàng tải xuống).
Ứng dụng của tôi có hệ thống ủy quyền khá phức tạp được triển khai với declarative_authorization. Ví dụ: người ta không thể tải xuống hình ảnh từ sản phẩm mà anh ấy không được phép 'xem'.
Tôi đang cân nhắc việc tính lại mã của mình để tôi có thể có mô hình "Tệp đính kèm" chung. Vì vậy, bất kỳ mô hình có thể has_many :attachments
.
Với ngữ cảnh này, nó có âm thanh như một ý tưởng hay không? Hay tôi nên tiếp tục làm Foos và FooPictures?
Cảm ơn câu trả lời của bạn. Cuối cùng tôi đã kết thúc không tái cấu trúc, bởi vì các lĩnh vực phụ cần thiết ở một số nơi. Làm STI sẽ giúp đỡ ở đó, nhưng công việc liên quan chỉ là không đáng. – kikito