2012-12-01 39 views
1

我在空閒時間已經開始編碼了一年多了。我有一個社交社區的想法,它將基於位置,基本上處理位置和附近的趨勢地點。 我做了一些關於腳手架的10分鐘視頻,並完全被Ruby on Rails打破。我真的想繼續前進並在RoR上完成。基於Ruby on Rails的網站和應用程序

但是我不知道如何使用數據庫處理位置。我做了一些研究,看起來像Mongo.DB是最受歡迎的,考慮了4square的做法。但我想知道我們可以使用Active Record嗎?我看到一個名爲geocoder的gem,它能幫我解決我正在解決的問題嗎?

同樣,我只用C++編碼,並沒有完全使用數據庫。

我應該使用哪些寶石和工具? Ruby和Mongo.db或Ruby on Rails使用gemoder之類的gem簡單嗎?

我很高興看到一個名爲www.foodspotting.com的網站,它顯示他們已經在軌道上的紅寶石編碼!有人能給出一些好的組合,以便我可以開始思考正確的方向嗎?

與mongo鐵軌上的紅寶石? 紅寶石與sinatra?

雖然我試圖堅持RoR流派,因爲我訂閱了Michael Hartl的教程。

回答

1

我建議使用PostgreSQLPostGIS。您需要使用activerecord-postgis-adapter gem才能使用ActiveRecord。

但是,處理空間數據的警告並不容易,如果這是您的第一個Ruby on Rails應用程序您的第一個數據庫支持的應用程序,我會說你正在咬一個公平的有點比你可以預料的咀嚼。從小處開始,輕鬆開始,繼續前進。

0

首先嚐試使用MongoDB等數據庫在rails上製作一些小型應用程序。我提出這個建議是因爲你要使用基於位置的應用程序實現。

一個很不錯的教程一步一步,將讓你去爲它 -

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

0

它不是的MongoDB和PostgreSQL之間或回報率和西納特拉之間進行選擇的問題。

你真正需要的是一個RoR插件/引擎/模塊/任何可以幫助你進行地圖查看,導航,定位和地理編碼的東西。 geocoder gem是此軟件堆棧的一個組件。

您將選擇的地理編碼/製圖/導航工具集將強加給您DB(很可能PostgreSQL帶有GIS擴展,即:PostGIS)以及其他許多實現細節。

OpenStreetMap(http://wiki.openstreetmap.org/wiki/Main_Page)開發和使用的映射/導航軟件棧非常有名並且廣受讚賞,它是一個幸運的人...... )甚至基於RoR。

看看他們的解決方案,並與他們的論壇/郵件列表上的開發人員談一談。我相信你會找到你需要的。