获取 Sinatra 请求 route/path

Get Sinatra request route/path

有没有办法在 Sinatra 中获取请求路由。比如我有一条路线:

get "/:id/post" do
  # whatever
end

当我到达那个端点时,例如,“/abc/post”,我想记录路线:"/:id/post",而不是 "/abc/post",我可以通过 request.path_info

任何帮助将不胜感激。

路由器stores the matched route in @env["sinatra.route"],所以你可以这样做:

get '/:id/post' do
  logger.info "Route: #{@env["sinatra.route"]}"
  # ...
end

这将记录:

I, [2016-12-05T10:59:36.678467 #35615]  INFO -- : Route: GET /:id/post