2010-10-06 1 views
2

У меня есть модель, которая обрабатывает все мои загрузки разных типов файлов.ROR: стили скрепки

  • Как создать стиль с тем же именем, что и: basename, чтобы URL-адрес был одинаковым для изображений и файлов без изображения?

ответ

0

Вам понадобится создать настраиваемый процессор, а затем внутри этого процессора вы можете вызвать методы IM для изображений и игнорировать остальные.

я не ставил много исследований в нее, но эта ссылка может получить вы движетесь в правильном направлении: http://thewebfellas.com/blog/2009/2/22/video-thumbnails-with-ffmpeg-and-paperclip

4

Попробуйте

class Upload < ActiveRecord::Base 
    has_attached_file :photo, 
     :styles => { 
     :thumb => {"115x70>"}, 
     :orig => {"300x168>"} } 
     .. 

Пока вы задаете два разных стиля, он будет создавать два различных стилей, связанных с Upload объекта.

Тогда вы можете вызвать их с помощью:

= image_tag @upload.photo.url(:thumb) 
= image_tag @upload.photo.url(:orig) 
+0

EDIT: Жир перебирал, что последний комментарий. У меня есть «has_attached_file: attach», который может быть любым видом файла с помощью метода, который проверяет, является ли это образ или нет. Могу ли я просто использовать after_create? Я хочу, чтобы каждая модель имела и загружала, чтобы вызвать эскиз, который будет обработан, если это не фотография. – davidahines

+0

Это было бы здорово, если бы не тот факт, что у меня несколько типов файлов в одной и той же модели. – davidahines

0

Хух?

http://rdoc.info/github/thoughtbot/paperclip/master/Paperclip/ClassMethods#has_attached_file-instance_method

Пиктограмма будет создана при нового файла назначается, но они не будут сохранены до тех пор, сохраняемый называется на записи. Аналогично, если атрибут установлен на nil, вызывается на , оно не будет удалено , пока не будет вызвано сохранение. См. Статью Paperclip :: Дополнительную документацию для получения более подробной информации.

+0

Мне нужно его для сохранения изображений на один конкретный путь с помощью определенной схемы именования: class_files /: id /: style.extension, но используйте /:class_files/:id/:basename.:extension для не изображений. Но они оба нуждаются в том же атрибуте в модели через has_attached_file. – davidahines

0

Я знаю, что это простой вопрос, но уверены ли вы, что ImageMagick установлен правильно? Большинство проблем, с которыми я столкнулся, происходят потому, что ImageMagick не скомпилирован/установлен правильно. Если вы будете смотреть журналы, скрепки будут гудеть и тихо провалиться.

+0

Yup! Я могу сделать большие пальцы, но проблема в том, когда он попадает в файл, который не является изображением и пытается сделать большие пальцы. – davidahines

Смежные вопросы