[RUBY] [Rails] Comment télécharger des images à l'aide de Carrierwave

Qu'est-ce que l'onde porteuse ▼

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.

Fichier enregistré de l'image publiée ▼

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/*

Comment ajouter carrierwave ▼

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

Commentaire ▼

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

[Rails] Comment télécharger des images à l'aide de Carrierwave
[Rails] Comment télécharger plusieurs images à l'aide de Carrierwave
[Rails] Comment télécharger des images sur AWS S3 à l'aide de Carrierwave et de fog-aws
[rails] Comment publier des images
[Rails] Enregistrez des images à l'aide de carrierwave
[Rails] Comment télécharger des images sur AWS S3 à l'aide de refile et refile-s3
Comment télécharger des images depuis AWS S3 (rails, carrierwave)
Pour implémenter la publication d'images à l'aide de rails
[rails6.0.0] Comment enregistrer des images en utilisant Active Storage au format assistant
CarrierWave Télécharger plusieurs images
Comment écrire des rails
Comment désinstaller Rails
[Rails] Comment créer un graphique à l'aide de lazy_high_charts
Téléchargez facilement plusieurs images avec rails rails + carrierwave + cloudinary
Comment lier des images à l'aide de FactoryBot Active Storage
Comment gérer les images téléchargées
[Rails] Comment utiliser enum
Comment réduire les images Java
[Rails] Comment utiliser enum
Comment lire les itinéraires des rails
Comment utiliser la jonction de rails
Comment terminer le serveur de rails
Comment écrire des graines de Rails
[Rails] Comment utiliser la validation
[Rails] Comment désactiver les turbolinks
[Rails] Comment utiliser authenticate_user!
[Rails] Comment mettre en œuvre le scraping
[Rails] Comment faire des graines
Comment écrire le routage Rails
[Rails] Comment installer simple_calendar
[Rails] Comment installer reCAPTCHA
[Rails] Comment utiliser Scope
Comment autoriser à l'aide de graphql-ruby
Comment implémenter une image de profil circulaire avec CarrierWave et R Magick in Rails
[Rails API + Vue] Télécharger et afficher des images à l'aide du stockage actif
Empêcher les opérations! Méthode de mise à jour manuelle sûre des données pour Rails utilisant des transactions
Comment définir et décrire des variables d'environnement à l'aide de Rails zsh
Comment déployer jQuery dans les applications Rails à l'aide de Webpacker
[Rails] Comment utiliser la "devise" des gemmes
Téléchargement d'images à l'aide de CarrierWave ~ Test Rspec ~
[Rails] Comment utiliser l'appareil (Remarque)
[Rails] Comment utiliser les messages flash
[rails] Comment afficher les informations de base de données
[Rails] Comment empêcher la transition d'écran
Comment utiliser Ruby on Rails
Comment déployer Bootstrap sur Rails