En mi plugin, tengo una ruta definida así en config/routes.rb:
Pfaffmanager::Engine.routes.draw do
get "/ssh-key/:hostname" => "serverkeys#get_pub_key_by_hostname", constraints: { end
Y puedo ejecutar
curl https://www.pfaffmanager.com/pfaffmanager/ssh-key/test.myforum.us
y obtener la clave pública como deseo. ![]()
Pero, sin conformarme con dejar las cosas como están (y los usuarios casi con seguridad copiarán y pegarán esto, así que 9 caracteres extra no suponen nada), quiero poder ejecutar
curl https://www.pfaffmanager.com/ssh-key/test.myforum.us
He revisado muchos otros plugins y parece que algo como esto debería funcionar:
Discourse::Application.routes.prepend do
get "/ssh-key/:hostname" => "serverkeys#get_pub_key_by_hostname", constraints: { hostname: /[^\\/]+/ }
end
Esto no funciona en absoluto. He probado varias cosas (he intentado muchas y realmente no debería haber perdido tiempo en este molino de viento en particular) que parecían capturar correctamente la ruta, pero luego tendría que hacer… algo… para indicarle que busque ese controlador en pfaffmanager/get_pub_key_by_name.