Photo metadata is nil until after AR callbacks have run

Ouverte
#499 7 commentaires 0 réactions 1 personne assignée Voir sur GitHub

@tommyg-cld y travaille déjà.

Depuis le 9/5/2023.

Évaluation

Cette issue n'a pas encore été évaluée.

Description

Describe the bug in a sentence or two.

I'm trying to extract colors from an uploaded image, following the docs on utilizing cloudinary_transformation and an after_save on the model. Unfortunately, metadata seems to always be nil. Once the after_save callback has finished, then source.metadata is populated. This seems like a misplaced lifecycle callback or something.

Issue Type (Can be multiple)

  • Build - Cannot install or import the SDK
  • Performance - Performance issues
  • Behaviour - Functions are not working as expected (such as generate URL)
  • Documentation - Inconsistency between the docs and behaviour
  • Other (Specify)

Steps to reproduce

class PhotoUploader < CarrierWave::Uploader::Base
  include Cloudinary::CarrierWave
  cloudinary_transformation image_metadata: true, colors: true
end

class Photo < ApplicationRecord
  mount_uploader :source, PhotoUploader

  after_save :extract_colors

  def extract_colors
    # `source.metadata` is `nil`
  end
end

Environment and Libraries (fill in the version numbers)

  • Cloudinary Ruby SDK version - 1.23.0
  • Ruby Version - 3.1.2
  • Rails Version - 7.0.4
  • Carrierwave - 2.2.2
Langage dominant
Ruby
Étoiles
420
Forks
282
Métriques de merge des PR
Aucune PR mergée en 30 j

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de cloudinary/cloudinary_gem

Toutes les issues de cloudinary/cloudinary_gem

Issues similaires

Plus d'issues Ruby

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.