Стили в Скрепке, только если это - изображение [направляющие]

Я использую скрепку для загрузки всех видов файлов (текстовые документы, двоичные файлы, изображения).

Я хотел бы поместить это в свою модель:

has_attached_file :attachment, :styles => { :medium => "300x300>", :thumb => "100x100>" }

но это должно выполнить стили, только если это - изображение. Я пытался добавить

if :attachment_content_type =~ /^image/

но это не работало.

8
задан Voyta 27 May 2010 в 14:15
поделиться

1 ответ

Вы можете использовать обратный вызов before_ _post_process , чтобы остановить создание эскизов для не -изображений. Если в обратном вызове вы вернете false , попыток использования стилей не будет.

См. Раздел «События» в docs

  before_attachment_post_process :allow_only_images

  def allow_only_images
    if !(attachment.content_type =~ %r{^(image|(x-)?application)/(x-png|pjpeg|jpeg|jpg|png|gif)$})
      return false 
    end
  end 
15
ответ дан 5 December 2019 в 08:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: