Как показать первые preserve_default_filters! и после пользовательского фильтра - PullRequest
1 голос
/ 11 февраля 2020

У меня есть это в моем коде:

  preserve_default_filters!
  filter :oculto,
    as: :check_boxes,
    collection: [['Oculto', true], ['visible', false]],
    label: 'Mostrar'

Я хочу сначала показать фильтры по умолчанию и показать после моего пользовательского фильтра, но я не знаю как.

Я приложил образец своей индексной страницы, как она отображается и как я хочу ее enter image description here

1 Ответ

1 голос
/ 12 февраля 2020

Это не поддерживается "из коробки", но читая код, который я нашел https://github.com/activeadmin/activeadmin/blob/1290efa1fc7984badebe774f108d886a1e82624c/lib/active_admin/filters/resource_extension.rb#L93 .. L97 , что привело меня к замене preserve_default_filters! выше на:

config.send(:default_filters).each { |f| filter f }
filter :oculto ...

Это берет фильтры по умолчанию и вставляет их перед вашими. Может быть интересно отправить запрос на добавление, добавив это к lib/activeadmin/filters/dsl.rb:

def default_filters
  config.send(:default_filters).each { |f| filter f }
end

Тогда вы сможете зарегистрировать ресурс с помощью:

default_filters
filter :oculto ...
...