[rails]Active Adminのfilterオプションを完全一致に限定する
Active Adminのfilterはmigrationで定義した型を元に自動でフォームを作ってくれます。
文字列型の場合は前方、中間、後方、完全一致の4パターンのfilterが利用可能になります。
これはこれで手軽で便利なのですが大量データを扱っているテーブルの場合、like検索は使いたくないので完全一致のみに限定したいです。
そんな場合は、filter設定にfiltersオプションを指定しましょう。
例としてcodeというカラムのfilterを作成する場合、以下のようにequalsを指定すれば完全一致のみになります。
filter :code, as: :string, filters: ['equals']
また、その他のfilterを指定したい場合は以下が指定可能です。
parameter | 説明 |
---|---|
contains | 中間一致 |
equals | 完全一致 |
starts_with | 前方一致 |
ends_with | 後方一致 |