[RUBY] Enregistrer l'icône Twitter sur s3

Choses à faire

Le lien de l'icône Twitter obtenu en vous connectant à Twitter sera immédiatement coupé, donc enregistrez-le dans s3.

Détails d'implémentation

Implémentation de twitteromniauth

https://qiita.com/puremoru0315/items/f1d459b663fd3b715dee

L'article ci-dessus était facile à comprendre

Processus d'enregistrement d'image uniquement au moment du nouvel enregistrement

Le processus suivant est écrit en omniauth

user.rb


class User < ApplicationRecord
  mount_uploader :image_url, ImageUploader
  #S'il y a un utilisateur lié à l'argument, il est renvoyé, et s'il existe, un nouveau est créé.
  def self.find_or_create_from_auth_hash(auth_hash)
  #Remplacez chaque donnée acquise par OmniAuth
      provider = auth_hash[:provider]
      uid = auth_hash[:uid]
      nickname = auth_hash[:info][:nickname]
      image = auth_hash[:info][:image]

      User.find_or_initialize_by(provider: provider, uid: uid) do |user|
        if user.new_record?
          user.nickname = nickname
          user.remote_image_url = image_url
          user.save
        end
      end
    end
end

find_or_initialize_by obtient l'utilisateur s'il le recherche et en crée un nouveau s'il ne le recherche pas. Contrairement à find_or_create_by, find_or_create_by enregistre même. Si vous souhaitez insérer uniquement un nouveau traitement d'enregistrement, utilisez find_or_initialize_by, qui vous permet de sauvegarder après le branchement conditionnel s'il faut en créer un nouveau avec new_record?.

Image Storage CarrierWave

https://github.com/carrierwaveuploader/carrierwave#uploading-files-from-a-remote-location

Le traitement suivant est effectué lors de l'enregistrement d'image

Ce processus peut être facilement réalisé avec la méthode remote_xxxx_url.

Recommended Posts

Enregistrer l'icône Twitter sur s3
Enregistrer les images sur Amazon S3 (Local / Heroku)
Comment enregistrer des images sur Heroku dans S3 sur AWS
Enregistrer l'icône Twitter sur s3
[Note] Télécharger depuis S3, télécharger vers S3
télécharger l'image pour refiler heroku S3
[Note] Télécharger depuis S3, télécharger vers S3
télécharger l'image pour refiler heroku S3
Tentative d'augmenter automatiquement les abonnés Twitter
Modifiez la destination d'enregistrement de l'image en S3 dans l'application Rails. Partie 2