J'ai déployé une application Rails sur heroku. Tout fonctionnait correctement jusqu'à ce que je change de domaine. Cela fonctionne également localement et j'ai maintenant l'erreur suivante: Paperclip::Errors::MissingRequiredValidatorError
.
les variables s3 env sont définies sur heroku et je ne trouve pas pourquoi cette erreur se produit, l'aide est appréciée.
EDIT: pour référence future, cela n’a rien à voir avec heroku, une fois le regroupement effectué, la même erreur sera renvoyée localement, comme le suggère la réponse.
Avec la version 4.0 (publiée il y a 2 jours) Paperclip requiert la validation fichier/mime. Ajoutez simplement les éléments suivants à votre modèle:
validates_attachment_content_type :file_name, :content_type => %w(image/jpeg image/jpg image/png)
IMPORTANT: remplace le nom de fichier et le type de contenu afin qu'il corresponde à votre projet.
Cela fonctionne localement car vous n'avez probablement pas encore mis à jour Paperclip.
ou tout simplement mettre cela et ignorer tout
do_not_validate_attachment_file_type :image
Paperclip (version 4) est maintenant sécurisé par défaut. Vous devez valider le type mime ou le nom du fichier ou désactiver explicitement la validation.
Cela permet d'éviter l'usurpation de type de contenu, par exemple. le téléchargement d'un fichier php au lieu d'une image qui deviendra accessible au public.
La solution recommandée ressemble à ceci:
validates_attachment_content_type :image, :content_type => /\Aimage/
Documentation ici: https://github.com/thoughtbot/Paperclip#security-validations
Remarque il ne s'agit pas simplement d'un problème S3.
Essaye celui-là -
validates_attachment_content_type: nom_fichier,: type_contenu => /\Aimage/.*\Z/