No meu plugin, tenho uma rota assim em config/routes.rb:
Pfaffmanager::Engine.routes.draw do
get "/ssh-key/:hostname" => "serverkeys#get_pub_key_by_hostname", constraints: { end
E consigo fazer
curl https://www.pfaffmanager.com/pfaffmanager/ssh-key/test.myforum.us
e obter a chave pública como desejo. ![]()
Não disposto a deixar bem como está (e os usuários quase certamente vão copiar/colar isso, então 9 caracteres a mais não significam nada), quero conseguir fazer
curl https://www.pfaffmanager.com/ssh-key/test.myforum.us
Já olhei vários outros plugins e parece que algo assim deveria funcionar:
Discourse::Application.routes.prepend do
get "/ssh-key/:hostname" => "serverkeys#get_pub_key_by_hostname", constraints: { hostname: /[^\/]+/ }
end
Isso não funciona de jeito nenhum. Algumas coisas que tentei (tentei um monte de coisas e realmente não deveria ter gasto tempo com esse moinho de vento específico) pareciam estar capturando a rota corretamente, mas então eu precisaria fazer… algo… para dizer para procurar aquele controlador em pfaffmanager/get_pub_key_by_name.