[RUBY] Définir l'image de profil d'un utilisateur à l'aide de CarrierWave

procédure

  1. Ajouter Gemfile
gem 'carrierwave'
$ bundle install
  1. Générer un téléchargeur

uploaders / image_uploader.rb est généré.

$ rails g uploader image
  1. Modifier le modèle

Configuré pour utiliser uploader dans user.rb.

models/user.rb


class User < ApplicationRecord
  mount_uploader :image, ImageUploader
end
  1. Modifier la vue

new.html


<%= form_with(model: user, local: true) do |form| %>
  <%= form.text_field :name %>
  <%= form.email_field :email %>
  <%= form.password_field :password %>
  <%= form.file_field :image %>
  #Informations sur le fichier image_Ajoutons la phrase suivante pour la sauvegarder temporairement dans le cache!
  <%= form.hidden_field :image_cache %>
  <%= form.submit %>
<% end %>

index.html


//L'image d'image peut être affichée avec la description suivante//
<%= image_tag @user.image.url %>

//Lors d'un branchement conditionnel avec l'instruction if//
<% if @user.image? %>
  <%= image_tag @user.image.url %>
<% else %>
  #Si vous souhaitez afficher par défaut
  <%= image_tag "/assets/default.jpg " %>
<% end %>
  1. Introduction Minimagic

gem 'mini_magick'
$ bundle install
  1. Modifiez le fichier image_uploader.rb

image_uploader.rb


class AvaterUploader < CarrierWave::Uploader::Base

  include CarrierWave::MiniMagick 
  #Redimensionner l'image
  process resize_to_fit: [100, 100]
end 

c'est tout

Recommended Posts

Définir l'image de profil d'un utilisateur à l'aide de CarrierWave
Comment définir et utiliser un profil avec une configuration basée sur des annotations dans le framework Spring
Un mémorandum sur l'utilisation d'Eclipse
Définir l'heure de LocalDateTime à une heure spécifique
Comment implémenter une image de profil circulaire avec CarrierWave et R Magick in Rails
Comment utiliser un tableau pour la clé TreeMap
Compte tenu de l'éditeur de propriétés utilisé dans SpringToolSuite (STS)
[Android / Java] Configurer un bouton pour revenir à Fragment
Je veux utiliser une petite icône dans Rails
[Rails 6] Comment définir une image d'arrière-plan dans Rails [CSS]
Remarques à vérifier lorsque vous essayez d'utiliser Lombok