Você já deve saber que, se nomear seu atributo em um modelo, :country
o ActiveAdmin tentará usar a maravilhosa gema de seleção de país (obrigatória) para renderizar a lista de seleção para você.
No entanto, esta dica é obter uma seleção de país, bem como uma seleção de estados dos EUA, na barra lateral de filtros na lista de um recurso no ActiveAdmin.
Primeiro, crie os dois arquivos a seguir em seu projeto Rails:
/lib/active_admin/inputs/filter_country_input.rb
/lib/active_admin/inputs/filter_state_input.rb
Isso assume que em seu inicializador Rails você configurou “autoload_paths” para “lib”.
Agora, no arquivo de país, cole o conteúdo desta essência . Isso irá reutilizar a lista de países que a joia selecionada por país nos forneceu em primeiro lugar.
Em seguida, no arquivo de estado, cole o conteúdo desta essência . Isso lhe dará uma lista suspensa com títulos longos, esperando a abreviatura de 2 letras em seu banco de dados. Remova o “invert” na parte inferior do arquivo ou ajuste o próprio hash para atender às suas necessidades.
Reinicie seu servidor Rails e você pode usar o seguinte ao registrar seus recursos com ActiveAdmin:
ActiveAdmin.register User do
filter :country, as: :country
filter :state, as: :state
end