[RUBY] [rails] Comment publier des images

Comment publier une image

La procédure pour publier une image est la suivante.

-Ajouter un refile au gemfile -Ajout de la colonne image_id -Ajouter une méthode de fixation -Ajouter image_id aux paramètres forts -Embed f.attachment_field dans le fichier de vue

1. Ajouter un fichier à gemfile

Rôle du refile -Les images peuvent être facilement incorporées. -Peut générer des vignettes. -Vous pouvez définir la destination de téléchargement du fichier.

refile-mini-magick est un joyau pour redimensionner les images.

#Gemme de publication d'image
gem "refile", require: "refile/rails", github: 'manfe/refile'
#Traitement d'image (ajustement de la taille, etc.)
gem "refile-mini_magick"

N'oubliez pas de regrouper l'installation.

$ bundle install

2. Ajoutez la colonne image_id

Ajoutez une colonne image_id à la table User.

$ rails g migration AddImageIdToUsers image_id:string

N'oubliez pas cela aussi. Reflété dans la base de données avec $ rails db: migrate.

$ rails db:migrate

3. Ajouter une méthode de pièce jointe

Pour utiliser Refile, vous devez ajouter une méthode d'attachement à votre modèle. La méthode de pièce jointe est requise pour que le nouveau fichier accède à la colonne spécifiée. Cela permet d'acquérir et de télécharger des images qui existent dans la base de données. Le nom de la colonne est image_id, mais _id n'est pas nécessaire ici.

app/models/user.rb


class User < ApplicationRecord
  attachment :image
end

4. Ajoutez image_id aux paramètres forts

class UserController < ApplicationController
  #réduction

  private
  def list_params
    params.require(:user).permit(:name, :email, :image)
 end
end

5. Incorporez f.attachment_field dans le fichier de vue

Ensuite, écrivez comme suit sur la page pour publier l'image.

<%= f.attachment_field :image %>

Recommended Posts

[rails] Comment publier des images
Comment écrire des rails
[Rails] Comment télécharger des images à l'aide de Carrierwave
Comment désinstaller Rails
[Rails] Comment télécharger plusieurs images à l'aide de Carrierwave
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 télécharger des images depuis AWS S3 (rails, carrierwave)
[Rails] Comment utiliser la "devise" des gemmes
[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 HttpClient de Java (Post)
Comment utiliser Ruby on Rails
Comment déployer Bootstrap sur Rails
[Rails] Comment accélérer la composition de docker
[Rails] Comment ajouter de nouvelles pages
[Rails] Comment écrire la gestion des exceptions?
[Rails] Comment installer ImageMagick (RMajick)
[Rails] Comment installer Font Awesome
[Rails] Comment utiliser Active Storage
Comment installer jQuery dans Rails 6
[Rails] Comment mettre en œuvre le classement par étoiles
[Introduction aux rails] Comment utiliser le rendu
Comment installer Swiper in Rails
Comment implémenter la fonctionnalité de recherche dans Rails
Comment changer le nom de l'application dans les rails
[Rails] Comment convertir ERB en Haml
Comment insérer une vidéo dans Rails
Comment changer d'images miniatures avec JavaScript
[Rails] Comment utiliser ActiveRecord :: Bitemporal (BiTemporalDataModel)