2
如何在不使用map
或Rack::UrlMap
的情況下安裝/運行多個機架應用程序?使用這些將調度應用程序很好,但也將前綴用於調度的匹配開始的路線,所以:安裝多個Rack應用程序,但不向URL添加前綴
class API < Sinatra::Base
get "/api" do
# blah
end
end
map("/api") { run API }
高於「/ API/API」訪問這是不是我的路線想要,只是「/ api」是我想要的。如果有更好的方法,我不想用過濾器挖掘請求對象並刪除前綴。
我已經試過:
use API.app # the app is wrapped in a `def self.app` for convenience.
run Web.app
但如果應用程序本身已經用在它use
太use
會引起問題。這樣做:
run API.app
run Web.app
將只提供從最後一個應用程序運行的路線。
我即將嘗試Rack :: Cascade,但我從未使用過,也不知道它是否是對這個問題的一個很好的答案。