hello-world.jp.net
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]paranoiaで論理削除したデータを管理画面で一覧表示する方法

migrationファイルにdeleted\_atを追加することで、手軽に論理削除を実装できる paranoia

[rails]active adminのindexページで条件に応じてstyleを変える

active adminは便利ですが、カスタマイズの必要が出てきた時に公式ドキュメントだけだとかゆいところに手が届かなかったりします。

[Rails]ActiveAdminでCSVダウンロード機能をカスタマイズする

ActiveAdminにはcsvダウンロード機能がデフォルトついているのですが、デフォルトのままだと一括でcsvデータを取得することができません。(管理画面表示1ページあたりの表示件数分になるので30件しか取得できませんでした)