假设我有以下config.ru
文件
require './status.rb'
map "/status" do
run Sinatra::Application
end
这status.rb
是一个简单的
require 'sinatra'
get '/' do
'Some status here...'
end
我想知道 Sinatra 应用程序安装在哪里status.rb
(例如提供正确的资源路径)。有没有办法从 Rack 中检索这些信息?
要获取应用程序的安装位置,您可以使用request.script_name
.
get '/' do
p request.script_name # will print "/status"
'Some status here...'
end
如果您正在为资源生成 url,则可能需要查看该url
方法。这将考虑代理以及应用程序的安装位置等因素:
get '/' do
p url('foo') # will print "http://localhost:9292/status/foo"
'Some status here...'
end