纬度/经度不适用于Ruby的EXIFR gem

时间:2012-11-21 14:44:27

标签: ruby-on-rails rubygems latitude-longitude exif

我试图使用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纬度'`

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

我想你想要imgfile.gps_latitude和imgfile.gps_longitude - 强调而不是点