この質問は、ActiveAdmin gem に関連しています。ブール型の列をフィルタリングしようとしていますが、成功filter :column_name
しfilter :column_name, :as => :boolean
ません。機能しません。
何か案が?
ありがとう!
この質問は、ActiveAdmin gem に関連しています。ブール型の列をフィルタリングしようとしていますが、成功filter :column_name
しfilter :column_name, :as => :boolean
ません。機能しません。
何か案が?
ありがとう!
filter :column_name, :as => :select
値が「Any」、「True」、「False」のドロップダウンを作成します
ActiveAdmin 0.6.2 の時点で、これを使用filter :column_name, as: :select
すると、完全なテーブル スキャンを実行するという恐ろしい副作用が生じます。さらに、そのオプションは「Any」、「true」、「false」になりました。
たとえば、ブール列を持つモデルがある場合、District
クエリを生成して 3 つの値を取得します。私の地区テーブルは非常に大きいので、これは明らかに私が望んでいるものではありません。enabled
filter :enabled, as: :select
SELECT DISTINCT "districts"."enabled" FROM "districts" ORDER BY enabled asc
OTOH を使用できるようfilter :column_name, as: :boolean
になりましたが、デフォルトでチェックされていないチェックボックスが使用されますが、これも私が望むものではありません。
0.6.2 より前の動作に戻すには、次のようにする必要がありましたfilter :enabled, as: :select, collection: [["Yes", true], ["No", false]]
。ActiveAdmin は、「Any」の値をドロップします。