Створення мініатюр із Carrierwave

Created by Miha Filej, @mfilej

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

1.Інсталяція ImageMagick

Наставник: Що таке ImageMagick і як він відрізняється від бібліотек/гемів, котрі ми використовували раніше?

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

gem 'mini_magick', '3.8.0'

під стрічкою

gem 'carrierwave'

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

bundle

2.Скажемо нашій аплікації, щоб створювала мініатюри, коли ми завантажуємо зображення

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

  # include CarrierWave::MiniMagick

Видали цей # знак.

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

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

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

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

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? %>

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