我試圖在我的rails 3應用程序中將sinatra應用程序作爲子路徑。 特別是,resque排隊系統有一個基於sinatra的web界面,我希望通過我的通常的rails應用程序可以訪問/ resque。作爲Rails 3子路徑的Sinatra應用程序
你可以看到這裏的項目:http://github.com/defunkt/resque
我發現一些人在談論添加rackup文件,做這樣的事情:
run Rack::URLMap.new(\
"/" => ActionController::Dispatcher.new,
"/resque" => Resque::Server.new
)
但我真的不知道往哪裏放或如何使其運行。我的部署與乘客有關,但當我運行'rails服務器'時,我也很高興能夠運行它。有什麼建議麼?
- 編輯 -
我做了通過將在配置以下/ routes.rb中取得了一些進展:
match '/resque(/:page)', :to => Rack::URLMap.new("/resque" => Resque::Server.new)
這似乎工作得很好,但它失去了公共文件夾(我猜是在寶石中定義的),結果,沒有樣式信息,也沒有圖像。
謝謝!這就是我一直在尋找的。但是URL不映射到根目錄。即所有傳遞給HomeApp的網址都以'/ home'開頭。有沒有辦法重新映射它們? – zaius 2010-06-25 23:57:58
只需用'match'/「'替換'match'/ home」'? – 2010-06-26 00:05:35
這將映射到sinatra應用程序的所有路線。我想/ resque/home在sinatra應用程序中調用/ home。我能想到的唯一解決方案是混亂Rack env並剝離路徑。 – zaius 2010-06-26 01:29:34