我正在尝试使用 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
纬度'`
非常感谢任何帮助!