0

我正在尝试使用 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

在视图中......宽度/高度的东西正在工作,但纬度/经度不是:

<%= @pic.width  %>  #this works!

<%= @pic.height  %> #this works!

<%= @pic.latitude  %> #this doesn't!

<%= @pic.longitude  %> #this doesn't!

...这很奇怪,因为它完全按照gem docs中的说明进行标记。

还向数据库添加了适当的迁移,这些迁移应该出现在架构上。

视图呈现undefined method纬度'`

非常感谢任何帮助!

4

1 回答 1

0

我认为您想要 imgfile.gps_latitude 和 imgfile.gps_longitude - 下划线而不是点

于 2013-04-08T05:12:26.330 回答