無記号リファレンスとき更新
-
12-09-2019 - |
質問
私は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: Column 'user_id' cannot be null ...
保存しなければ! (EXIF [ 'date_time_original']がNULLでない場合でも)、すべてはうまく動作しますが、self.dateはNULLのままです。
私は本当にイライラしています。どのように私はペーパークリップがMiniExiftoolで作業を得ることができますか?
解決
わからない、しかし、あなたはEXIF [ 'date_time_original']かどうかを確認するかもしれません あなたは、日付、または文字列を与えている、そしてそれは文字列である場合、それは適切に解析することができるかどうか。
あなたはまた、使用してみてください。
update_attribute(:date, exif['date_time_original'])
タグの代わりに
self.date = exif['date_time_original']
save!
これは検証をバイパスし、ちょうど更新された属性を保存します。
所属していません StackOverflow