Question

Je suis en train de se Paperclip travailler avec MiniExiftool.

J'ai écrit enfin ceci:


# Photo model

  belongs_to :user

  has_attached_file :picture

  after_picture_post_process :copy_exif_data

private

  def copy_exif_data
    exif = MiniExiftool.new picture.queued_for_write[:original].path
    self.date = exif['date_time_original']

    save!
  end

Je reçois:

Mysql::Error: Column 'user_id' cannot be null ...

Sans sauver! tout fonctionne bien, mais self.date reste nulle (même si exif [ 'date_time_original'] est non nulle).

Je suis vraiment frustré. Comment puis-je obtenir Paperclip travailler avec MiniExiftool?

Était-ce utile?

La solution

Je ne sais pas, mais vous pouvez vérifier si exif [ 'date_time_original']  est de vous donner une date ou une chaîne, et si elle est une chaîne, si elle peut être analysée correctement.

vous pouvez également essayer d'utiliser

update_attribute(:date, exif['date_time_original'])

au lieu de

self.date = exif['date_time_original']
save!

Cette volonté validation de by-pass, et il suffit de sauvegarder l'attribut mis à jour.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top