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
-, , ,

執筆者:

関連記事

RubyでWebを操作できるMechanizeの利用例を集めてみた

By: nubobo – CC BY 2.0 目次1 公式2 使い方など3 リンク 公式 mechanize.rubyforge.org/ 使い方など Mechanize について 楽々ス …

Rails3.2でhtml5で取得した位置情報をAjaxで住所表示する~geocoder

    HTML5ではブラウザからユーザーのPCの位置情報を取得することができるGeoLocation APIというものがある (もちろんデフォルトではユーザーに確認をする設定にな …

no image

Rails3.2でBackbone.jsとPrivate_pubでToDoアプリをリアルタイム化(できた!)

参考 Rails3.2でリアルタイムメッセージング~Private_pub、Faye Rails3.2とBackbone.jsでToDoアプリを作ってみた~backbone-on-rails &nbs …

ActionCableのサンプルをみてみた

By: Samantha Brough – CC BY 2.0 目次1 ActionCableとは2 rails4での利用3 redisサーバーの準備4 cableサーバーの準備5 チャッ …

MIddlemanでrails-assets.orgをつかってbowerのコンポーネントをつかう

By: Simon Cunningham – CC BY 2.0 middlemanは静的なサイトのジェネレータ rails-assets.orgは「the frictionless pr …