En termes simples, c'est une bibliothèque Rails (gem) qui facilite l'ajout d'une fonctionnalité de téléchargement d'images. Vous pouvez spécifier la taille de l'image à télécharger.
Les images affichées seront accumulées sous le public de l'application. Si vous n'avez pas besoin de gérer vos images sur GitHub, ajoutez une description à .gitignore comme ci-dessous Ne le gérez pas avec Git.
# .Ajouter à gitignore
public/uploads/*
Exécutez dans l'ordre du haut.
#Exécuter dans le terminal
$ brew install imagemagick
#Ajouter à Gemfile
gem 'carrierwave'
gem 'mini_magick'
#Exécuter dans le terminal
$ bundle install
#Exécuter dans le terminal
$ rails g uploader image
# app/models/Modèle de poste.Modifier rb
mount_uploader :image, ImageUploader
# app/uploaders/image_uploader.Modifier rb
class ImageUploader < CarrierWave::Uploader::Base
# Include RMagick or MiniMagick support:
# include CarrierWave::RMagick
include CarrierWave::MiniMagick
# storage :fog
#~ abrégé ~
process resize_to_fit: [800, 800]
#~ abrégé ~
end
Après avoir exécuté "brew install imagemagick", installons le gem requis. Ajoutez "carrierwave" et "minimagick" au Gemfile et exécutez l'installation groupée à partir du terminal.
Ensuite, créons un téléchargeur d'images. Dans le terminal, exécuter la commande "rails g uploader image" créera image_uploader.rb dans le répertoire app / uploaders.
Après avoir créé l'uploader, éditez le modèle lié à l'article et décrivez le montage de "image_uploader".
Enfin, éditons image_uploader.rb afin de pouvoir redimensionner l'image via MiniMagick. Décommentez le "include Carrier Wave :: MiniMagick" à la ligne 5.
Après cela, ajoutez "processus resize_to_fit: [taille verticale, taille horizontale]" à n'importe quel endroit. (La taille est arbitraire) resize_to_fit signifie redimensionner l'aspect dans la taille spécifiée tout en conservant le rapport hauteur / largeur.
Recommended Posts