1

我正在尝试让 Paperclip 与 MiniExiftool 一起使用。

我终于写了这个:


# 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: 列'user_id'不能为空...

无需保存!一切正常,但 self.date 仍然为空(即使 exif['date_time_original'] 不为空)。

我真的很沮丧。如何让 Paperclip 与 MiniExiftool 一起使用?

4

1 回答 1

0

不确定,但您可以检查 exif['date_time_original'] 是给您一个日期还是一个字符串,如果它是一个字符串,是否可以正确解析它。

你也可以尝试使用

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

代替

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

这将绕过验证,只保存更新的属性。

于 2009-08-19T14:34:12.947 回答