所以我发送了大约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中的完整过程:)