業務アプリでは CRUD 以外で必ずと言ってもいいほど実装する機能があります。検索です。 検索機能って、たいていはページの上部に検索フィールドがあって、入力して検索ボタンを押すとページの下部に検索結果が表示される。 こんなのばっかりです。 それを毎回ページ全体をゴリゴリ作るって疲れませんか? Rails で scaffold すると index は一覧表示になりますが、ここが検索になる画面のほうが圧倒的に多くないですか? というわけで、汎用検索機能(というか簡易フレームワーク)を作ろうってのが今回の趣旨です。 大体、検索機能で検索ごとに違うのは大まかには下記の三つでしょう。 ・検索フィールド ・検索ロジック ・結果表示(一行分) 極力この三点に注力できるようにしたい。 具体的には、検索条件は汎用的なコンテナクラスに格納する。 コンテナクラスは、検索条件だけを格納できるように form_fo