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
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
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
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
class UserController < ApplicationController
#réduction
private
def list_params
params.require(:user).permit(:name, :email, :image)
end
end
Ensuite, écrivez comme suit sur la page pour publier l'image.
<%= f.attachment_field :image %>
Recommended Posts