Я пытаюсь получить приложение sinatra как подпуть в моем приложении rails 3. В частности, система очередности resque имеет веб-интерфейс на основе синатра, который я хотел бы получить через/resque в моем обычном приложении для рельсов.Sinatra app as Rails 3 subpath
Вы можете увидеть проект здесь: http://github.com/defunkt/resque
я нашел некоторые люди говорят о добавлении файла rackup и делать такие вещи:
run Rack::URLMap.new(\
"/" => ActionController::Dispatcher.new,
"/resque" => Resque::Server.new
)
Но я не знаю, куда девать это или как заставить его работать. Мое развертывание с пассажиром, но мне было бы неплохо также запустить его, когда я запустил сервер «rails». Какие-либо предложения?
--edit--
Я сделал некоторый прогресс, поставив следующий в конфигурации/routes.rb:
match '/resque(/:page)', :to => Rack::URLMap.new("/resque" => Resque::Server.new)
который, кажется, работает очень хорошо, однако он теряет (которая определена в пределах gem, я думаю), и, как результат, нет информации о стилистике и изображениях.
Спасибо! Это то, что я искал. Но URL-адреса не сопоставляются с корнем. То есть все URL-адреса, переданные HomeApp, начинаются с '/ home'. Есть ли способ переназначить их? – zaius
Просто замените 'match '/ home" 'на' match'/''? –
Это отобразит все маршруты в приложение синатра. Я хочу/resque/home позвонить/домой в приложении sinatra. Единственное решение, о котором я могу думать, это возиться с env Rack и проложить путь. – zaius