Photo metadata is nil until after AR callbacks have run

Aberta
#499 7 comentários 0 reações 1 responsável Ver no GitHub

@tommyg-cld já está trabalhando nisso.

Desde 9/5/2023.

Avaliação

Esta issue ainda não foi avaliada.

Descrição

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
Linguagem predominante
Ruby
Estrelas
420
Forks
282
Métricas de merge de PRs
Nenhum PR com merge em 30d

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de cloudinary/cloudinary_gem

Todas as issues de cloudinary/cloudinary_gem

Issues semelhantes

Mais issues de Ruby

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.