基于Ruby on Rails的网站和应用程序

时间:2012-12-01 06:29:17

标签: ruby-on-rails mongodb geolocation rails-geocoder

我在空闲时间开始编码超过一年了。我有一个社交社区的想法,它将基于位置,基本上处理位置和附近的趋势地点。 我做了大约10分钟关于脚手架的视频,并且完全被Ruby on Rails打败了。我真的想继续在RoR上制作它。

但是我不知道如何使用处理位置的数据库。我做了一些研究,看起来像Mongo.DB是最受欢迎的,考虑到4square做了什么。但我想知道我们可以使用Active Record吗?我看到了一个名为geocoder的宝石,它会帮我解决我想要解决的问题吗?

同样,我只用C ++编码,并没有完全适用于数据库。

我应该使用哪些宝石和工具? Ruby和Mongo.db或Ruby on Rails使用像地理编码器这样的宝石很简单吗?

我很高兴看到一个名为www.foodspotting.com的网站,它显示他们已经在轨道上编写了红宝石!有人可以给出一些好的组合,以便我可以开始思考正确的方向吗?

带有mongo的轨道上的红宝石? 红宝石与sinatra?

虽然我试图坚持RoR类型,因为我订阅了Michael Hartl教程。

3 个答案:

答案 0 :(得分:1)

我建议将 PostgreSQL PostGIS 一起使用。您需要activerecord-postgis-adapter gem才能使其与ActiveRecord一起使用。

然而,一句警告,处理空间数据并不容易,如果这是你的第一个Ruby on Rails应用程序你的第一个数据库支持的应用程序我会说你是咬得比预期的要多得多。从小处着手,轻松自如,一路向上。

答案 1 :(得分:0)

首先尝试使用像MongoDB这样的数据库在ruby上创建一些小应用程序。我建议这样做是因为您将使用基于位置的应用程序实现。

一步一步的非常好的教程可以让你去做 -

http://www.mongodb.org/display/DOCS/Rails+3+-+Getting+Started

关于地理编码器 - 它提供对象地理编码(通过街道或IP地址),反向地理编码(到街道地址的坐标),ActiveRecord和Mongoid的距离查询,结果缓存等。专为Rails设计,但也适用于Sinatra和其他Rack框架。 你会发现地理编码器的文档,让你从这里开始 -

http://rubydoc.info/gems/geocoder/1.1.5/frames

答案 2 :(得分:0)

这不是在MongoDB和PostgreSQL之间或在RoR和Sinatra之间进行选择的问题。

你真正需要的是一个RoR插件/引擎/模块/可以帮助你进行地图查看,导航,定位和地理编码的任何东西。地理编码器gem是此软件堆栈的一个组件。

您将选择的地理编码/地图绘制/导航工具集会强制您使用数据库(很可能是带有GIS扩展的PostgreSQL,即:PostGIS)以及许多其他实施细节。

OpenStreetMap(http://wiki.openstreetmap.org/wiki/Main_Page)开发并使用了一个非常着名且备受推崇的映射/导航软件堆栈(你是一个幸运的人......)甚至基于RoR。

查看他们的解决方案,并在他们的论坛/邮件列表上与开发人员进行交流。我相信你会找到你需要的东西。