У меня проблема с проверкой типа содержимого с помощью подключаемого модуля Paperclip:
image.rb (соответствующий фрагмент)
has_attached_file :photo,
:styles => {:xlarge => "640x512>", :large => "350x280>", :medium => "180x144^",
:thumb => "100x80^", :original => "1280x1280>" },
:convert_options => {:xlarge => "-strip", :large => "-strip",
:medium => "-strip -gravity center -extent 180x144 +repage",
:thumb => "-strip -gravity center -extent 100x80 +repage"},
:default_style => :medium,
:url => "/system/:attachment/:id/:basename_:id_:style.:extension"
validates_attachment_presence :photo
validates_attachment_content_type :photo, :content_type => ['image/jpeg', 'image/png', 'image/gif', 'image/pjpeg', 'image/x-png', 'image/jpeg2000'], :message => 'Uploaded file is not an image'
Я использую вложенные формы,модель изображения является дочерней моделью модели свойств.Во время проверки правильности моей формы я сталкиваюсь с некоторыми проблемами.Я проверяю проверки, загружая файл PDF, в котором модель принимает только изображения.
вывод в моем виде: <% = @ property.errors.inspect%>
#[#, @message="Uploaded file is not an image">],
"images.photo"=>[#, @message="C:/Users/Michael/AppData/Local/Temp/stream,4272,1.pdf is not recognized by the 'identify' command.">]}>, @base=#>
вывод в виде ошибки (ов) проверки в поле ввода загрузки файла:
C:/Users/Michael/AppData/Local/Temp/stream,4272,1.pdf is not recognized by the 'identify' command.
C:/Users/Michael/AppData/Local/Temp/stream,4272,1.pdf is not recognized by the 'identify' command.
C:/Users/Michael/AppData/Local/Temp/stream,4272,1.pdf is not recognized by the 'identify' command.
C:/Users/Michael/AppData/Local/Temp/stream,4272,1.pdf is not recognized by the 'identify' command.
C:/Users/Michael/AppData/Local/Temp/stream,4272,1.pdf is not recognized by the 'identify' command.
2 выпусков:
выпуск 1
Поле ввода показывает 5 раз ту же ошибку, потому что в модели установлено 5 стилей.Вопрос в том, почему скрепка пытается идентифицировать (и, вероятно, преобразовать pdf), когда вы ожидаете, что проверка будет запущена первой и уже выдаст ошибку, прежде чем пытаться идентифицировать и преобразовать?Преобразует ли Paperclip все стили перед запуском проверок?Если да, есть ли способ изменить порядок обработки, сначала проверку, а затем обработку стилей?
выпуск 2
Как отобразить сообщение об ошибкевалидация («Загруженный файл не является изображением») рядом с полем ввода загрузки файла вместо отображаемых сейчас ошибок (5 x выходных данных команды идентификации), последнее бесполезно для пользователя веб-сайта.
Спасибо!