Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 对如何设置Geokit感到困惑_Ruby On Rails_Ruby On Rails 3_Ruby On Rails 4_Ruby On Rails 5_Geokit - Fatal编程技术网

Ruby on rails 对如何设置Geokit感到困惑

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文件中 类列表

所以我搜索了所有关于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地址替换它,以便进行一些快速测试。