Railsで使えるGem

Rails4で複雑な検索〜Ransack

投稿日:

株価データをつかって複雑な絞り込み検索ができるようにしてみた

データは、こちらのサンプルを使わせていただいた

datawarehouse.web.fc2.com/

参考

railscasts.com/episodes/370-ransack?language=ja&view=asciicast

Ransackのススメ

スキーマ1

まず、そのままテーブルにしてみる

 db/seeds.rb

 Gemfile

Rails4でいくならこっち

github.com/activerecord-hackery/ransack

 Controller

params[:q]に複雑なクエリーをいれてくれる、これをsearchメソッドにいれればOK

結果はresultに出てくる

kaminariとかはresultの方にメソッドをつける

 View

サーチフォームを簡単に作れるsearch_form_forというヘルパーが使える

ここで、name_contはcontainつまり含むかどうかを判定してくれる

screenshot

sort_linkというヘルパーをテーブルのヘッダに使うと

ソートをつけてくれる

screenshot screenshot

スキーマ2

関連するモデルをつかってみる

db/seeds.rb

find_or_create_byをうまくつかって 正規化しながら挿入してみる

View

関連するモデルをセレクトボックスの選択肢に加えてみる

stackoverflow.com/questions/13959005/rails-ransack-drop-down-list-collection

複雑な条件での絞り込み検索が可能に

screenshot

 

関連先のデータベースも一気に読み込むのはresultの方にincludesすればよい

 

-Railsで使えるGem
-

執筆者:

関連記事

no image

Railsで使える便利なナビゲーション~simple-navigation

no image

Ubuntu server12.04でRails4とPostgreSQL9.3をつかう〜hstoreとか

目次1 準備2 rails new3 config/database.yml4 hstoreとarrayを試してみる 準備 Ubuntu server12.04にPostgreSQL9.3をインストー …

Rails5でコントローラーの記述を省略~inherited_resources

By: Simon Matzinger – CC BY 2.0 目次1 inherited_resources2 Gemfile3 使い方 inherited_resources inhe …

no image

Rails3.2.8でPostgreSQLを使う(開発環境)〜pg gem

環境 Ubuntu server12.04にPostgreSQLをインストールする 参考 #342 Migrating to PostgreSQL @railscasts 目次1 準備2 データベース …

Rails3.2でよくあるデータ構造を追加してくれる系のGemのメモ〜タグ付け、評価システム、バージョン、論理削除、木構造とか

By: Jeff Dlouhy – CC BY 2.0 よくある構造というかよくあるスキーマを追加してくれるModelに一言書いておくだけで便利なGemをメモ(未検証)   目次 …