С Carrierwave я хочу изменить размер фотографий до разных размеров в зависимости от типа загруженной фотографии - PullRequest
1 голос
/ 21 мая 2011

У меня есть модель User и модель Post.Фотография пользователя будет уменьшена до небольшого эскиза, а фотография поста - до большого эскиза.

version :smallThumb do
     process :resize_to_fill => [100, 100]
   end

   version :largeThumb do
     process :resize_to_fill => [200, 200]
   end

Как мне сообщить carrierwave, какой размер выбрать для загруженной фотографии?Будет ли он изменяться как на маленький, так и на большой размер для всех загрузок?

1 Ответ

3 голосов
/ 09 июня 2011

Вы можете создать 2 отдельные модели загрузчика.Выглядело бы примерно так:

profile_uploader.rb

class ProfileUploader < CarrierWave::Uploader::Base

  include CarrierWave::RMagick

  storage :file

  version :thumb do
    process :resize_to_fill => [200, 200]
  end

end

atached_uploader.rb

class AttachedUploader < CarrierWave::Uploader::Base

  include CarrierWave::RMagick

  storage :file

  version :thumb do
    process :resize_to_fill => [100, 100]
  end

end

user.rb

class User < ActiveRecord::Base

  mount_uploader :profile, ProfileUploader

end

post.рб

class Post < ActiveRecord::Base

  mount_uploader :attached, AttachedUploader

end
...