1

空き時間にコーディングを始めて 1 年以上になります。私は、基本的に場所と近くの流行の場所を扱う場所ベースのソーシャルコミュニティのアイデアを持っていました. 足場に関する 10 分間のビデオを作成しましたが、Ruby on Rails にすっかり夢中になりました。私は本当に先に進み、RoRでそれを作りたいです.

ただし、場所を扱うデータベースの操作方法がわかりません。いくつかの調査を行ったところ、4square が行ったことを考慮すると、Mongo.DB が最も人気があるようです。しかし、Active Record を使用できるのではないかと考えていました。geocoder という宝石を見ましたが、私が取り組んでいる問題を解決するのに役立ちますか?

繰り返しますが、私は C++ でコーディングしただけで、データベースを正確に扱ったことはありません。

どの gem とツールを使用すればよいですか? Ruby と Mongo.db または Ruby on Rails は、geocoder などの gem を使用してシンプルですか?

www.foodspotting.com という Web サイトを見て勇気づけられました。Ruby on Rails でコーディングされていることがわかります。私が正しい方向に考え始めることができるように、誰かがいくつかの良い組み合わせを与えることができますか?

モンゴとレール上のルビー?シナトラとルビー?

私は RoR のジャンルに固執しようとしていますが、Michael Hartl のチュートリアルを購読しているので.

4

3 に答える 3

1

PostGISでPostgreSQLを使用することをお勧めします。ActiveRecord で動作させるには、gem が必要です。activerecord-postgis-adapter

ただし、警告の言葉として、空間データを扱うのは簡単ではありません。これが初めての Ruby on Rails アプリケーションであり、データベースに支援された最初のアプリケーションである場合、あなたは自分ができる以上にかなりの量を食べていると言えます。噛むことが期待されます。小さく始めて、簡単に始めて、上に向かって進んでください。

于 2012-12-01T06:49:12.197 に答える
0

MongoDB と PostgreSQL のどちらを選択するか、または RoR と Sinatra を選択するという問題ではありません。

本当に必要なのは、RoR プラグイン/エンジン/モジュール/マップの表示、ナビゲーション、位置特定、ジオコーディングに役立つあらゆるものです。geocoder gem は、このソフトウェア スタックのコンポーネントです。

選択するジオコーディング/マッピング/ナビゲーション ツールセットは、DB (ほとんどの場合、GIS 拡張機能を備えた PostgreSQL、つまり PostGIS) およびその他の多くの実装の詳細を課します。

非常によく知られており、高く評価されているマッピング/ナビゲーション ソフトウェア スタックは、OpenStreetMap (http://wiki.openstreetmap.org/wiki/Main_Page) によって開発および使用されているもので、(あなたは幸運な人です...) に基づいています。 RoRで。

彼らのソリューションを見て、フォーラム/メーリング リストで開発者と話をしてください。必要なものがきっと見つかります。

于 2012-12-01T08:05:32.707 に答える
0

まず、MongoDB などのデータベースを使用して、Ruby on Rails でいくつかの小さなアプリケーションを作成してみてください。ロケーションベースのアプリケーション実装を使用するため、これを提案しました。

あなたがそれに行くことができるようになるステップバイステップの非常に素晴らしいチュートリアルは-

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

Geocoder について - オブジェクト ジオコーディング (ストリートまたは IP アドレスによる)、リバース ジオコーディング (ストリート アドレスへの座標)、ActiveRecord と Mongoid の距離クエリ、結果のキャッシュなどを提供します。Rails 用に設計されていますが、Sinatra やその他の Rack フレームワークでも動作します。ジオコーダーのドキュメントを見つけると、ここからやり直すことができます -

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

于 2012-12-01T07:17:24.330 に答える