在我的插件中,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 控制器。