سؤال

أحاول الحصول على 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 :: خطأ: العمود 'User_id' لا يمكن أن يكون فارغا ...

دون حفظ! كل شيء يعمل بشكل جيد، ولكن لا تزال الذاتي.

أنا محبط حقا. كيف يمكنني الحصول على paperclip العمل مع miniexiftool؟

هل كانت مفيدة؟

المحلول

لست متأكدا، ولكن قد تحقق ما إذا كان exif ['date_time_original'] يعطيك تاريخا، أو سلسلة، وإذا كانت سلسلة، ما إذا كان يمكن تحليلها بشكل صحيح.

قد تحاول أيضا استخدام

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

بدلا من

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

سيؤدي ذلك إلى تجاوز التحقق من الصحة، ويوم ما عليك سوى حفظ السمة المحدثة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top