――Je souhaite enregistrer facilement une image
--Facile à associer des images avec des modèles
Je vous suis redevable à chaque fois, mais j'oublierai à chaque fois la méthode de réglage initial, je vais donc en prendre note.
Le stockage actif est ** Gem ** pour le téléchargement de fichiers. À l'origine, c'était un joyau qui devait être installé en externe, mais comme il a été intégré à Rails, il n'est pas nécessaire d'installer un ensemble d'Active Storage lui-même.
Guide Rails> Présentation du stockage actif
--Introduction d'outils de traitement d'image
Qu'est-ce qu'ImageMagick?
L'une des bibliothèques de traitement d'image. C'est un logiciel, pas Gem, alors installez-le depuis Homebrew. Par conséquent, une fois construit, ce travail ne sera plus nécessaire la prochaine fois.
Terminal
% brew install imagemagick
MiniMagick
Gemme pour la gestion d'ImageMagick en Ruby
ImageProcessing
Gemme pour le réglage de la taille de l'image
Gemfile
gem 'mini_magick'
gem 'image_processing', '~> 1.2'
Terminal
% bundle install
& Redémarrer le serveur
Étant donné qu'Active Storage est un joyau jusqu'au dernier, installez-le.
Terminal
% rails active_storage:install
Lorsque l'installation est terminée, une migration liée à Active Storage sera créée, donc migrez telle quelle.
Terminal
% rails db:migrate
Décrivez l'association dans le modèle que vous souhaitez gérer l'image.
models/profile.rb
class Profile < ApplicationRecord
has_one_attached :image
end
À ce stade, il n'est pas nécessaire de fournir une colonne d'image dans la table cible.
Enfin, incluez l'image dans le paramètre strong.
profiles_controller.rb
class ProfilesController < ApplicationController
~ Omis ~
private
def profile_params
params.require(:profile).permit(:image)
end
end
Vous pouvez maintenant enregistrer les données d'image.
Affichage à l'aide de la méthode image_tag.
example
image_modèle de balise.Nom de colonne
image_tag profile.image
Si vous souhaitez modifier l'affichage avec ou sans fichier image, utilisez la méthode ci-jointe.
example
image_tag profile.image, class: 'profile-image' if profile.image.attached?
*** * Rédigez un article sur le réglage de la taille de l'image! *** ***
Qiita, ceci est mon deuxième message. Je vais le mettre à jour chaque jour autant que possible jusqu'à ce que je manque de matériel.
Merci d'avoir lu jusqu'au bout! !!
✔︎
Recommended Posts