Filtros de estado e país para ActiveAdmin

Você já deve saber que, se nomear seu atributo em um modelo, :countryo 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:

  1. /lib/active_admin/inputs/filter_country_input.rb
  2. /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