Добавление другого изображения в качестве эскиза, чем оригинал в Rails

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

Какой был бы наиболее оптимальный способ реализовать это, возможно, используя что — то вроде скрепки, чтобы эти изображения можно было получить доступ, как:

<%= image_tag @user.avatar.url %>
<%= image_tag @user.avatar.url(:thumb) %>

или что-то похожее?

1 ответ

  1. Я использую этот драгоценный камень CarrierWave

    Вы можете определить версию в классе с пользовательским размером ur

    class MyUploader < CarrierWave::Uploader::Base
    include CarrierWave::MiniMagick
    
      process resize_to_fit: [800, 800]
    
      version :thumb do
       process resize_to_fill: [200,200]
      end
    
    end
    

    И назовите это в виду, как это

    uploader.url # => '/url/to/my_file.png'               # size: 800x600
    uploader.thumb.url # => '/url/to/thumb_my_file.png'   # size: 200x200