2009-07-10 117 views
1

我正在嘗試使用MiniExiftool的Paperclip。更新時無參考

我終於寫了這個:


# 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']不爲空)。

我真的很沮喪。我怎樣才能讓Paperclip與MiniExiftool一起工作?

回答

0

不確定,但是您可能會檢查exif ['date_time_original'] 是否爲您提供日期或字符串,如果它是字符串,是否可以正確解析。

您也可以嘗試在地方使用

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

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

這將繞過驗證,並只保存更新後的屬性。