[RUBY] Speichern Sie das Twitter-Symbol in s3

Dinge die zu tun sind

Der Link des Twitter-Symbols, der durch die Anmeldung bei Twitter erhalten wird, wird sofort unterbrochen. Speichern Sie ihn daher in s3.

Implementierungsdetails

Implementierung von Twitteromniauth

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

Der obige Artikel war leicht zu verstehen

Bildspeichervorgang nur zum Zeitpunkt der Neuregistrierung

Der folgende Prozess ist in Omniauth geschrieben

user.rb


class User < ApplicationRecord
  mount_uploader :image_url, ImageUploader
  #Wenn sich ein Benutzer auf das Argument bezieht, wird es zurückgegeben, und wenn es vorhanden ist, wird ein neues erstellt.
  def self.find_or_create_from_auth_hash(auth_hash)
  #Ersetzen Sie alle von OmniAuth erfassten Daten
      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 ruft den Benutzer ab, wenn er danach sucht, und erstellt einen neuen, wenn dies nicht der Fall ist. Im Gegensatz zu find_or_create_by speichert find_or_create_by sogar. Wenn Sie nur eine neue Registrierungsverarbeitung einfügen möchten, verwenden Sie find_or_initialize_by, mit der Sie nach der bedingten Verzweigung speichern können, ob Sie eine neue mit new_record erstellen möchten.

Bildspeicherträgerwelle

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

Die folgende Verarbeitung erfolgt beim Speichern von Bildern

Dieser Vorgang kann einfach mit der Methode remote_xxxx_url durchgeführt werden.

Recommended Posts

Speichern Sie das Twitter-Symbol in s3
Speichern Sie Bilder in Amazon S3 (Local / Heroku)
So speichern Sie Bilder auf Heroku in S3 unter AWS
Speichern Sie das Twitter-Symbol in s3
[Hinweis] Von S3 herunterladen, auf S3 hochladen
Bild hochladen, um Heroku S3 nachzufüllen
[Hinweis] Von S3 herunterladen, auf S3 hochladen
Bild hochladen, um Heroku S3 nachzufüllen
Versuchen Sie, die Anzahl der Twitter-Follower automatisch zu erhöhen
Ändern Sie das Speicherziel des Bildes in der Rails-App in S3. Teil 2