2009-07-10 8 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はnullのままです(exif ['date_time_original']がnullでない場合でも)。

私は本当に不満です。 MiniExiftoolでPaperclipを使うにはどうすればいいですか?

答えて

0

わかりませんが、exif ['date_time_original]] が日付または文字列を指定しているかどうかをチェックし、文字列の場合は正しく解析できるかどうかを確認できます。

あなたも検証をバイパスし、ちょうど更新された属性を保存することを

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

の代わりに

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

を使用してみてください。

関連する問題