Nil di riferimento quando Aggiornamento
-
12-09-2019 - |
Domanda
Sto cercando di ottenere Paperclip lavorare con MiniExiftool.
Alla fine ho scritto questo:
# 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
ottengo:
Mysql::Error: Column 'user_id' cannot be null ...
Senza risparmia! tutto funziona bene, ma self.date rimane nulla (anche se exif [ 'date_time_original'] non è nullo).
Sono veramente frustrato. Come posso ottenere Paperclip lavorare con MiniExiftool?
Soluzione
Non è sicuro, ma si potrebbe verificare se exif [ 'date_time_original'] ti dà una data o una stringa, e se è una stringa, se può essere analizzato correttamente.
si potrebbe anche provare a utilizzare
update_attribute(:date, exif['date_time_original'])
al posto di
self.date = exif['date_time_original']
save!
che la convalida volontà di bypass, e basta salvare l'attributo aggiornato.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow