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

執筆者:

関連記事

Rails3でテストカバレッジを計測する~simplecov,thin

    rspecなどのテストでテストがどの程度カバーしているのかを簡単に計測するsinplecovというgemをいれた 目次1 Gemfile & bundle2 spe …

no image

Rubyからdocxを生成する

    前提 Rubyでdocxをいろいろ分析してみた 変数の仕様~正規表現 いろいろなパターンで試してみた 例えば、こんな文 [crayon-58dc8f547f71b38298 …

Rails4.0でもajaxなデータテーブルを使う~ajax-datatables

Railsでajaxなテーブルを使う~datatables Rails4でのJSONテンプレート~jbuilder+rabl+ruby 目次1 index.json.jbuilder2 tasks.j …

no image

Rails3.2からBackbone.jsとD3.jsを使う一例

目次1 Backbone.jsからD3.jsを使う2 RailsのネストしたURLでBackboneを使う Backbone.jsからD3.jsを使う d3.jsで力指向グラフを使って遊ぶ2のクラス構 …

Rails3.2のproduction環境で動画再生~flowplayer+carrierwave+nginx+unicorn

  By: Creative Tools – CC BY 2.0 目次1 前提2 unicornの設定3 nginxのインストール4 nginxの設定5 アセット関係6  ストリ …