2009-07-10 10 views
1

J'essaie de faire fonctionner Paperclip avec MiniExiftool.Aucune référence lors de la mise à jour

J'ai finalement écrit 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 nul (même si exif ['date_time_original'] n'est pas nul).

Je suis vraiment frustré. Comment puis-je faire fonctionner Paperclip avec MiniExiftool?

Répondre

0

Vous ne savez pas, mais vous pouvez vérifier si exif ['date_time_original'] vous donne une date, ou une chaîne, et si c'est une chaîne, si elle peut être analysée correctement.

vous pouvez également essayer d'utiliser

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

à la place de

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

qui contournera la validation, et il suffit de sauvegarder l'attribut mis à jour.

Questions connexes