Railsで使えるGem

Rails3.2からMongoDBを使ってアプリをつくってみる~mongoid

投稿日:

MongoDBはとても素直で扱いやすいということがわかってきたので、以前作成した郵便番号・住所の相互検索アプリをまたつくってみた

参照

MongoDBのチュートリアルをこなす

KEN_ALL.CSVを使ってRailsで郵便番号を検索するサイトを作る1

KEN_ALL.CSVを使ってRailsで郵便番号を検索するサイトを作る2

 

Gemfile & bundle

Gemfileに追加

bundle

generate

必要に応じて設定ファイルを書き換える

今回は別の仮想PCにmongodbをインストールしたので、そのアドレスを指定した

データベース設計

設計というほどではないけれど、MySQLのときは半角スペース区切りにしておけば、それなりにlikeで早く検索できるんじゃないかという作戦だったけど、MongoDBはデータに配列をいれると、どれかに合致するものを選んでくれるので、これを使うといいらしい

www.mongodb.org/pages/viewpage.action?pageId=6488122

そこで、

zip: Strings

address: Array

address_kana: Array

という感じでモデルを作成した

データ挿入

seed.rbは前回のスペース区切りのデータを流用するのでこんなかんじで

rake db:seed

確認

うん、はいってる

controller

コントローラーの検索式はこんなかんじでマルチカラムみたいな感じでもひっかかる

これは複数語に対応していない、また前方一致検索のみにした

うむ動いてる あとでherokuにあげてどの程度速度が出るか試してみよう

 

-Railsで使えるGem
-, , ,

執筆者:

関連記事

Railsでjavascriptやcoffeescriptをつかうとき便利かもしれないGem

By: Stan Dalone & Miran Rijavec – CC BY 2.0 目次1 oj2 gon3 js-routes4 rails-dev-tweaks oj gi …

sunspot_railsで全文検索

sunpotはsolrというJava製の全文検索サーバをrubyから使えるGem sunspot_rails はsunspotにマージされてました 参考 railscasts.com/episodes

no image

Private_pubでのJSON通信の方法

  前回 Rails3.2でBackbone.jsとPrivate_pubでToDoアプリをリアルタイム化(できた!)   Gemfileへの追加とbundleの実行 privat …

Rails3.2でリアルタイムメッセージング~Private_pub、Faye

  Railsで簡単に非同期通信ができるPrivate_pubというgemを試した もともとrubyにはFayeという非同期通信ができるgemがあったが、簡単に安全な接続ができる実装を加えた …

no image

Rubyでローカルで使うgemをつくる~bundler

  目次1 bundlerのインストール2 bundle gem ファイル名3 gemspec4 lib5 パッケージ化6 インストール7 使い方 bundlerのインストール gemパッケ …