我试图使用exifr gem来读取lat / long以进行图片上传。
在模型中:
attr_accessible :image, :post_process_photo, :width, :height, :model, :datetime, :latitude, :longitude
belongs_to :user
has_attached_file :image, styles: { medium: "300x300#", thumb: "50x50#", large:"500x500#" }
after_post_process :post_process_photo
def post_process_photo
imgfile = EXIFR::JPEG.new(image.queued_for_write[:original].path)
return unless imgfile
self.width = imgfile.width
self.height = imgfile.height
self.model = imgfile.model
self.datetime = imgfile.date_time
self.latitude = imgfile.gps.latitude
self.longitude = imgfile.gps.longitude
end
在视图中...宽度/高度的东西正在工作,但是lat / long不是:
<%= @pic.width %> #this works!
<%= @pic.height %> #this works!
<%= @pic.latitude %> #this doesn't!
<%= @pic.longitude %> #this doesn't!
...这很奇怪,因为它完全按照gem docs中的指示进行了标记。
还添加了适当的迁移到数据库,这在模式中应该显示。
视图呈现undefined method
纬度'`
非常感谢任何帮助!
答案 0 :(得分:0)
我想你想要imgfile.gps_latitude和imgfile.gps_longitude - 强调而不是点