Ruby on rails GEOCODER:获取用户地理位置以生成rails 3中具有位置属性的状态更新

Ruby on rails GEOCODER:获取用户地理位置以生成rails 3中具有位置属性的状态更新,ruby-on-rails,devise,blogs,rails-geocoder,Ruby On Rails,Devise,Blogs,Rails Geocoder,我对RoR完全陌生(目前使用Ruby 1.9.3和Rails 3.2.16)。在过去的几天里,我读了很多关于如何使用rails的教程和电子书 现在我想为多个用户创建一种博客(我和我的朋友的旅行日志),自动获取用户位置(IP地址)。这应该用于编写自动继承用户位置的状态更新。但它应该在一定时间段内更新用户位置,以确保当用户移动时,下一次状态更新将获得不同的位置。e、 g.用户1:“我在超市”-纽约第四大道 …10分钟后用户1:“现在我站在街区下的公共汽车站”-纽约州第五大道 其他功能应该是.find

我对RoR完全陌生(目前使用Ruby 1.9.3和Rails 3.2.16)。在过去的几天里,我读了很多关于如何使用rails的教程和电子书

现在我想为多个用户创建一种博客(我和我的朋友的旅行日志),自动获取用户位置(IP地址)。这应该用于编写自动继承用户位置的状态更新。但它应该在一定时间段内更新用户位置,以确保当用户移动时,下一次状态更新将获得不同的位置。e、 g.用户1:“我在超市”-纽约第四大道 …10分钟后用户1:“现在我站在街区下的公共汽车站”-纽约州第五大道

其他功能应该是.find或.where方法,以显示在实际用户位置附近的特定位置所做的所有状态

我知道如何用Desive制作一个简单的博客,并向其中添加状态模型,但我不知道如何在其中实现地理编码功能。计划用于整个地理编码过程

我希望你们的一些RoR专家能帮助我解决这个问题,或者至少给我一个如何实现它的提示:))

编辑: 我想我已经找到了适合我需要的教程。只有两件事。我不想包括地图,我想在数据库中存储地理数据(位置、纬度和液化天然气)。你们谁能告诉我我可以删除代码的哪一部分,以及如何将json解析到“位置”数据库?

您可能应该研究客户端地理编码与服务器端。你需要做一个反向地理编码;也就是用纬度和经度获取用户的位置,并将其转换为地址

因此,基本上,在构建应用程序之后,您可以担心这一点

如果您选择地理编码器路线,则包括纬度和经度字段以及ip地址。用户也可以通过ip进行反向地理编码

因此,为了简单起见,假设您当前有一个Post模型。该职位通常会有一个

    ipaddress:string title:string post:string latitude:string longitude:string
Ruby Geocoder对我来说非常有用,但我计划下一次重构到客户端

以下是谷歌推荐的地理编码策略。这可能会很有帮助

编辑用户需要更多信息

以下是Ruby Geocoder在用户模型上的ip请求示例:

app/models/user.rb 查看主站点以获取大量有用信息:

还可以看一下railscasts地理编码器的视频。由于您使用的是较旧版本的ruby和rails,这些资源应该特别有用。这9美元是值得的


感谢您的快速响应:)是的,我的post模型与此一模一样。我唯一不知道的是,我必须在哪里执行request.ip或request.address命令才能在post模型中存储一些数据?:)一个简短的代码示例会非常好。编辑:我目前正在通过jqeury阅读一些关于地理编码的内容,以获取并观察用户的位置。这比使用简单的geocoder gem更推荐吗?是的,通过javascript的客户端几乎总是被推荐的。这里有一个关于地理编码的谷歌部分:@user3079933,我更新了我的答案,提供了更多的细节。我待会再检查一下,有事情要做。此外,如果您正在讨论客户端与服务器端的问题,那么谷歌的这一战略是一个很好的起点:-随时通知我,我们将很高兴在此过程中为您提供帮助!快乐编码!
    geocoded_by :ip_address,
   :latitude => :lat, :longitude => :lon
   after_validation :geocode