If-заявление со скрепкой |Рубин на рельсах - PullRequest
0 голосов
/ 01 января 2012

Я должен создать миниатюры в 300 пикселей , если файл представляет собой картинку ('image / jpeg', 'image / png', 'image / gif') и no thumbnails если файл имеет другое расширение. Я использую Paperclip для загрузки файла (он отлично работает без условий ...).

: файл является загруженным файлом, и, если это изображение, Paperclip должен создать его версию medium .

class Paperplanes < ActiveRecord::Base
   if validates_attachment_content_type :file, :content_type => ['image/jpeg', 'image/png', 'image/gif']
      has_attached_file :file, :styles => { :medium => "x300>" }
   else
      has_attached_file :file
   end
end

Но, похоже, это не работает. Надеюсь, вы, ребята, можете найти решение. THX!

1 Ответ

0 голосов
/ 02 января 2012

Если это не изображение, создание эскиза должно завершиться неудачей.Если whiny не соответствует действительности, это должно быть конец.(В основном, вам нужно будет проверить наличие миниатюр, тогда, согласно этому ответу .)

Если вы хотите полностью контролировать процесс, вы можете либо открыть стандартное значение Thumbnail процессор , чтобы добавить / изменить его обычные параметры / обработку или использовать его в качестве руководства для создания собственного процессора (см. Раздел «Постобработка» на страница github Paperclip ).

Вы также можете играть в некоторые игры с lambda style , возможно, создав миниатюру по умолчанию «non-image» для файлов без изображений.

...