2009-07-10 5 views
1

Я пытаюсь заставить Paperclip работать с MiniExiftool.Nil Ссылка при обновлении

я, наконец, написал:


# 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 

я получаю:

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

без сохранения! все работает хорошо, но self.date остается нулевым (даже если exif ['date_time_original'] не равно null).

Я действительно расстроен. Как я могу заставить Paperclip работать с MiniExiftool?

ответ

0

Не уверен, но вы можете проверить, дает ли exif ['date_time_original'] дачу или строку, и если это строка, можно ли ее правильно разобрать.

вы также можете попробовать использовать

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

вместо

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

Это позволит обойти проверку, и только сохранить обновленный атрибут.