Подтвердить что ты не робот

Heroku paperclip weird error Paperclip:: Errors:: MissingRequiredValidatorError

Я развернул приложение rails для heroku, он работал нормально, пока я не изменил домены, локально он отлично работает, и теперь я начал получать следующую ошибку: Paperclip::Errors::MissingRequiredValidatorError.

переменные s3 env установлены на heroku, и я не могу найти причину возникновения этой ошибки, помощь приветствуется.

EDIT: для справок в будущем он не имеет никакого отношения к героку, после повторного связывания он будет вызывать ту же ошибку локально, как подсказывает ответ.

4b9b3361

Ответ 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/