gem 'carrierwave'
$ bundle install
uploaders / image_uploader.rb est généré.
$ rails g uploader image
Configuré pour utiliser uploader dans user.rb.
models/user.rb
class User < ApplicationRecord
mount_uploader :image, ImageUploader
end
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 %>
gem 'mini_magick'
$ bundle install
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