J'ai brisé un peu le principe DRY dans un projet construit avec Paperclip pour le stockage multimédia. J'ai ajouté des actifs à certains modèles, tels que AlbumPhotoFile, AlbumSoundFile et ainsi de suite, en utilisant le code suivant:Rails Paperclip 'méthodes de classe' et refactorisation des validations?
# Asset is a regular < ActiveRecord::Base class
class AlbumPhotoFile < Asset
has_attached_file :pic, :url => "foo", :path => "bar"
validates_attachment_presence :pic, :message => "can't be blank"
validates_attachment_content_type :pic, :content_type => ["foo", "bar"]
end
Mise à l'échelle de quelques autres exigences, je devais joindre des photos à d'autres modèles, par exemple CityPhotoFile. Je veux conserver les validations et has_attached_file fu comme dans les autres modèles de type PhotoFile. Je viens de copier-coller le code d'un modèle PhotoFile à l'autre, y a-t-il une meilleure méthode pour cela?
Il n'y a pas d'erreurs liées au Paperclip, le stockage et l'affichage fonctionnent bien, je voulais juste savoir si ce type d'opération peut être placé dans un module ou quelque chose comme ça, pour DRY. Juste rebondir sur le code devient vraiment moche. Je peux fournir plus de détails si je n'ai pas fait mes intentions claires dans cet espace :-).
Merci d'avance!
Je vais l'essayer quand je reviens au travail, merci de l'entrée ! – Dr1Ku
Certains autres éléments du module ont également dû être inclus, j'ai inclus la solution de travail ci-dessous. Merci pour votre participation ! – Dr1Ku