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

Rails3.2とBackbone.jsでToDoアプリを作ってみた~backbone-on-rails

  公式 backbonejs.org/ Backbone ドキュメント日本語訳 github.com/enja-oss/Backbone イントロダクション github.com/enja

no image

Rails3.2.8で自動テスト環境を整える〜cucumber+spork+guard

環境 ruby 1.9.3 & rails 3.2.8 参考 cucumber + spork + guard + factory_girl あってもよいが[crayon-5c6b3f1d2f …

Rails4とBootstrapをつかった動的なナビゲーションとパンくずリスト〜acts_as_nested_set

By: anko.gaku_ula – CC BY 2.0 目次1 Railscast2 acts_as_nested_set3 ヘッダーnav4 サイドメニュー5 パンくずリスト6 でき …

ThoughtBotの『Backbone.js on Rails』の目次と見出しをななめ読み

By: John – CC BY 2.0 learn.thoughtbot.com/products/1-backbone-js-on-rails 買いました 電子書籍で137ページに$4 …

WindowsのRubyでxlsxファイルを生成する~axlsx

By: Roman Boed – CC BY 2.0 目次1 axlsxのインストール2 hello axlsx3 サンプル4 参考 axlsxのインストール コマンドラインからインストー …