플러그인에서 config/routes.rb에 다음과 같은 라우트를 가지고 있습니다:
Pfaffmanager::Engine.routes.draw do
get "/ssh-key/:hostname" => "serverkeys#get_pub_key_by_hostname", constraints: { end
그리고 이렇게 실행할 수 있습니다.
curl https://www.pfaffmanager.com/pfaffmanager/ssh-key/test.myforum.us
원하는 대로 공개 키를 가져올 수 있습니다. ![]()
좋은 정도에서 멈추고 싶지 않아서(사용자가 거의 확실히 이 주소를 복사/붙여넣을 것이므로, 9자节的 추가는 아무 의미도 없습니다), 이렇게도 할 수 있도록 하고 싶습니다.
curl https://www.pfaffmanager.com/ssh-key/test.myforum.us
다른 여러 플러그인을 살펴봤는데, 다음과 같은 코드가 작동할 것 같았습니다:
Discourse::Application.routes.prepend do
get "/ssh-key/:hostname" => "serverkeys#get_pub_key_by_hostname", constraints: { hostname: /[^\/]+/ }
end
하지만 전혀 작동하지 않습니다. 제가 시도해 본 몇 가지 방법들(여러 가지를 시도해 봤고, 사실 이 특정 풍차와 씨름하는 데 시간을 낭비하지 말았어야 했습니다)은 라우트를 올바르게 잡아내는 것처럼 보였지만, 그 다음에 pfaffmanager/get_pub_key_by_name에서 해당 컨트롤러를 찾도록 알려주기 위해 . . . 무언가 . . .를 해야 했습니다.