Acho que você poderia reordená-los com o console do Rails. Eu optei por inserir os campos com seus IDs porque é mais difícil digitar um nome sem erros de digitação
ids_in_order = [3, 7, 8, 5, 1, 2]
ids_in_order.each_with_index do |id, index|
UserField.find(id).update!(position: index)
end
Veja como é a janela “reordenar categorias”. Eu suponho que se isso existe no Discourse, pode haver uma maneira de usá-lo para campos de usuário também?
Eu não acredito, mas recentemente escrevi um componente de tema que oculta a exibição original dos campos personalizados no cartão do usuário e nas páginas de perfil e depois os renderiza novamente, opcionalmente tornando alguns seguros para HTML (eles estão adicionando algumas informações via API a um campo personalizado que os usuários não podem editar). Eu acho que a mesma ideia poderia ser usada para adicionar um campo de ordem aos campos personalizados para alterar a ordem em que são exibidos no cartão e/ou no perfil.
Acho que você pode usar os métodos existentes para reordenar os campos do usuário. É um pouco impraticável ter que abrir o menu novamente após cada mudança de posição. Isso é um tanto irritante ao mover-se por várias posições.
Mas um componente que tornasse os botões sempre visíveis ou uma caixa de seleção para um “modo de reordenação” no topo que os tornasse visíveis fora do menu já poderia melhorar a experiência.