ActiveAdminのfilter

ActiveAdminは以下のようにhas_manyなどの関連付けを定義すると自動的にフィルタをつけてくれる

class Parents < ApplicationRecord
  has_many :children
end

注意なのが、この関連付けられた先のモデルのレコードをすべて読みこんでしまうこと。

レコードの件数に比例して取得処理が重くなり、ARオブジェクトが作られるのでメモリを大量に消費することになる

なるべく不要なフィルタは明示的に削除する。

remove_filter :モデル名 を書くとフィルタを無効にでき、レコードを取得しなくなる。

【参考】