Этот вопрос связан с ActiveAdmin gem. Я пытаюсь отфильтровать столбец с булевым типом, но без успеха: filter :column_name и filter :column_name, :as => :boolean не работают.
Любая идея?
Спасибо!
Ответ 1
filter :column_name, :as => :select создаст выпадающий список со значениями "Любой", "Истинный", "Ложный"
Ответ 2
Начиная с ActiveAdmin 0.6.2, использование filter :column_name, as: :select теперь имеет ужасный побочный эффект при выполнении полного сканирования таблицы. Кроме того, его параметры теперь "Любые", "Истина", "ложь".
Например, если у меня есть модель District с булевым столбцом enabled, то filter :enabled, as: :select генерирует запрос SELECT DISTINCT "districts"."enabled" FROM "districts" ORDER BY enabled asc, чтобы получить 3 значения. Таблица моих районов довольно велика, так что это явно не то, что я хочу.
OTOH, но теперь я могу использовать filter :column_name, as: :boolean, он использует флажок, который по умолчанию не проверяется, что опять не то, что я хочу.
Чтобы восстановить поведение до 0.6.2, я должен был сделать это: filter :enabled, as: :select, collection: [["Yes", true], ["No", false]]. ActiveAdmin меняет значение "Any".