Ruby on rails 对如何设置Geokit感到困惑
所以我搜索了所有关于Geokit for rails的文档,除了安装gem(我知道怎么做)之外,没有找到任何关于Geokit for rails的安装过程。我应该向现有的“列表”表中添加哪些表 我已经说过了,安装好了。我已经将acts_as_可映射添加到清单ruby文件中Ruby on rails 对如何设置Geokit感到困惑,ruby-on-rails,ruby-on-rails-3,ruby-on-rails-4,ruby-on-rails-5,geokit,Ruby On Rails,Ruby On Rails 3,Ruby On Rails 4,Ruby On Rails 5,Geokit,所以我搜索了所有关于Geokit for rails的文档,除了安装gem(我知道怎么做)之外,没有找到任何关于Geokit for rails的安装过程。我应该向现有的“列表”表中添加哪些表 我已经说过了,安装好了。我已经将acts_as_可映射添加到清单ruby文件中 类列表
类列表
gem'geokit-rails'
如果有一个关于如何设置整个过程的视频教程,那就太好了。您需要在您的列表模型中添加一个lat和lng字段。您可以这样做:
rails g迁移将\u lat\u lng\u添加到\u列表lat:decimal lng:decimal
然后迁移:
railsdb:migrate
一旦有了这些字段,您应该能够执行以下操作:
Listing.in_范围(1..35,原点:[29.794664,-98.731970])
1..35如果我理解正确,是英里距离吗?@TimofeyABogdanov是的!返回:“清单id:14,标题:“iPhone 6s Plus”,说明:“$100”,创建时间:“2019-09-26 18:02:28”,更新时间:“2019-09-26 18:02:28”,用户id:1,lat:nil,lng:nil”@TimofeyABogdanov您需要在保存记录之前设置lat和lng。您可以在控制器中通过从请求对象获取ip地址来实现这一点,然后使用Geokit从中获取坐标。在创建方法中设置@listing=listing.new(listing_params)
后,可以在其下方添加@listing.lat=listing.geocode(request.ip).lat
和@listing.lng=listing.geocode(request.ip).lng
。这只是你可以走的一条路。您还可以允许用户输入他们的地址,然后使用Geokit将地址转换为lat和lng坐标。希望有帮助!简单地说,在本地主机上使用request.ip
可能不起作用。也许只是用一个占位符IP地址替换它,以便进行一些快速测试。