Зменшення зображень з Carrierwave

Created by Miha Filej, @mfilej

Переклад українською - Nastia, @aladan

Редагування та оновлення - Aleksandra Klochko, @aleksacastle та Sofiia Kolisnyk

1.Встановлення ImageMagick

Ментор: Що таке ImageMagick та як він відрізняється від бібліотек(gems), котрі ми використовували раніше?

Відкрий Gemfile в проекті та додай

gem 'mini_magick', '3.8.0'

під стрічкою

gem 'carrierwave'

У терміналі виконай:

bundle install

2.Створюємо мініатюри при завантаженнi зображення

Відкрий app/uploaders/picture_uploader.rb та знайди таку стрічку:

  # include CarrierWave::MiniMagick

Видали знак #.

Ментор: Поясни ідею коментарів у коді.

Під стрічкою, яку щойно змінили, додай:

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

Відтепер завантажені зображення змінюватимуть свій розмір. Aле ті, які ми вже додали не зміняться. Тож відредагуй якусь ідею, ще раз додавши зображення.

3.Відображення мініатюр

Щоб перевірити, чи завантажене зображення змінило свій розмір, відкрий app/views/ideas/index.html.erb. Заміни стрічку

<%= image_tag idea.picture_url, width: '100%' if idea.picture.present? %>

на

<%= image_tag idea.picture_url(:thumb) if idea.picture.present? %>

Подивися на список ідей d браузері, щоб побачити чи є там мініатюри.

Ментор: Поясни, що робить визначення ширини картинки в HTML вкінці 3 пункту, та чим воно відрізняється від зміни розміру картинок на сервері.