Ce sera comme titre.
Le but est d'afficher l'image.
Tout d'abord, insérez une gemme. Si vous ne spécifiez pas la version, la dernière version sera installée.
Gemfile
gem 'carrirewave'
Merci pour votre soutien continu au terminal.
$ bundle install
Ensuite, créons un fichier de téléchargement.
$ rails generate uploader Image
create app/uploaders/image_uploader.rb
Vous devriez maintenant avoir ʻimage_uploader.rb dans ʻapp / uploaders
.
Au fait, la partie de ʻImage` est le nom du modèle à monter, Un nom descriptif. Je génère souvent avec Image.
image_uploader.rb
class ImageUploader < CarrierWave::Uploader::Base
# Include RMagick or MiniMagick support:
# include CarrierWave::RMagick
# include CarrierWave::MiniMagick
# process resize_to_fit: [300, 200]
# version :thumb do
# process :resize_to_fit => [50, 50]
# end
#Omis ci-dessous
end
Vous pouvez définir les paramètres liés au téléchargement d'images dans ce fichier. Par exemple, vous pouvez limiter l'extension de l'image que vous téléchargez, redimensionner l'image et bien plus encore.
Montons le fichier créé précédemment sur le modèle sur lequel vous souhaitez télécharger des images.
Cette fois, considérons le cas où vous souhaitez enregistrer une image dans la colonne image du modèle hoge.
hoge.rb
class hoge < ApplicationRecord
mount_uploader :image, ImageUploader
end
Nous vous donnerons les informations nécessaires sur chaque page.
hoges_controller.rb
class ArticlesController < ApplicationController
def new
@article = Article.new
end
def create
@article = Article.new(user_params)
if @article.save
redirect_to user_path(@article)
else
render :new
end
end
private
def article_params
params.require(:article).permit(:image)
end
end
/hoges/new.html
<%= form_with model: @hoge, local: true do %>
<div class="field">
<%= f.label :image %>
<%= f.file_field :image %> <!--L'image est un fichier_field -->
<div class="action">
<%= f.submit %>
</div>
<% end %>
L'image est essentiellement affichée en écrivant comme suit.
<%= image_tag @article.image.url %>
<%= image_tag @article.image.to_s %>
Merci d'avoir lu jusqu'au bout. J'espère que cela aidera ceux qui étudient.
Recommended Posts