使用photo_geoloader将当前位置添加到Ruby on Rails应用程序

时间:2018-02-02 17:21:52

标签: html5 cookies geolocation location ruby-on-rails-5

所以我发送了大约3天的时间来研究geoip,地理编码器,cookies,会话,html5等等。

我正在尝试添加当前位置(截至用户在表单中发布照片时的位置)。用户不会更改此数据,我只是希望将其自动添加到帖子中,然后添加到帖子的视图中(目前我使用.time_ago作为帖子的时间戳)。我目前可以在地图中显示,但是因为将其添加到帖子中而丢失了。

我更喜欢使用HTML5或

rails @lat_lng = cookies[:lat_lng].split("|").

我只需将它打印到每个用户的帖子上。

我尝试过使用Exifr gem来提取数据但是不够精确。我也对photo_geoloader gem很感兴趣,但是文档很少。

到目前为止,我已经使用“照片”作为我的模型名称创建了一个模型。目前我正在通过我的“帖子”模式验证上传的图片;

class Post < ActiveRecord::Base
  acts_as_votable

  belongs_to :model
  has_many :comments, dependent: :destroy
  has_many :notifications, dependent: :destroy

  validates :model_id, presence: true
  validates :image, presence: true
  validates :caption, length: { minimum: 3, maximum: 300 }

  has_attached_file :image,
                    styles: lambda { |a| a.instance.check_image_type}

  def check_image_type
    if is_image_type?
      {:medium => "640"}
    elsif is_video_type?
      {
          :medium => { :geometry => "640x480", :format => 'flv'},
          :thumb => { :geometry => "100x100#", :format => 'jpg', :time => 10}, :processors => [:transcoder]
    }
    else
      {}
    end
  end

  def is_image_type?
    image_content_type =~ %r(image)
  end

  def is_video_type?
    image_content_type =~ %r(video)
  end

  validates_attachment_content_type :image, :content_type => [/\Aimage\/.*\Z/, /\Avideo\/.*\Z/, /\Aaudio\/.*\Z/]

  scope :of_followed_models, -> (following_models) { where model_id: following_models }
end

我已经研究了所有内容,所以我正在寻找rails 5中的完整过程:)

0 个答案:

没有答案