获取Sinatra请求路线/路径

时间:2016-12-05 16:21:16

标签: ruby sinatra

有没有办法可以在Sinatra获得请求路线。例如,我有一条路线:

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

当我点击该端点时,例如“/ abc / post”,我想记录路由:"/:id/post",而不是"/abc/post",我可以通过request.path_info获取。

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:4)

路由器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