Heroku paperclip weird error Paperclip:: Errors:: MissingRequiredValidatorError
Я развернул приложение rails для heroku, он работал нормально, пока я не изменил домены, локально он отлично работает, и теперь я начал получать следующую ошибку: Paperclip::Errors::MissingRequiredValidatorError
.
переменные s3 env установлены на heroku, и я не могу найти причину возникновения этой ошибки,
помощь приветствуется.
EDIT: для справок в будущем он не имеет никакого отношения к героку, после повторного связывания он будет вызывать ту же ошибку локально, как подсказывает ответ.
Ответы
Ответ 1
С версией 4.0 (опубликовано 2 дня назад). В программе Paperclip требуется подтверждение файла /mime.
Просто добавьте в свою модель:
validates_attachment_content_type :file_name, :content_type => %w(image/jpeg image/jpg image/png)
ВАЖНО: замените имя_файла и тип контента так, чтобы он соответствовал вашему проекту.
Он работает локально, потому что вы, вероятно, еще не обновили paperclip.
Ответ 2
Паперклип (версия 4) теперь защищен по умолчанию. Вы должны проверить либо тип mime, либо имя файла, либо явно отключить проверку.
Это делается для предотвращения подмены типа контента, например. загружая php файл вместо изображения, которое затем станет общедоступным.
Рекомендуемое решение выглядит следующим образом:
validates_attachment_content_type :image, :content_type => /\Aimage/
Документация здесь: https://github.com/thoughtbot/paperclip#security-validations
Примечание. Это не просто проблема S3.
Ответ 3
или просто поместите это и проигнорируйте все это
do_not_validate_attachment_file_type :image
Ответ 4
Попробуйте этот вариант -
validates_attachment_content_type: имя_файла,: content_type = > /\ Aimage/.*\Z/