hello-world
webエンジニアのメモ。とりあえずやってみる。

[rails]Active Adminのfilterオプションを完全一致に限定する

公開日時

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後方一致

参考


Related #active_admin

[rails]Active Adminの編集画面に登録済みの画像プレビューを表示する

先日のActiveAdminまとめに続き今回もActive Adminネタです。

active_adminでカスタムfilter(select box)を設置する

active\_adminで管理画面を作る際にデフォルトでfilterを作ってくれますが、select boxを使いたい部分がテキスト入力になっていたりします。