J'essaie d'obtenir une application Sinatra comme un sous-chemin dans mon rail 3 app. En particulier, le système de file d'attente de resque a une interface Web basée sur sinatra que je voudrais avoir accessible via/resque sur mon application rails habituelle.Sinatra app comme Rails 3 subpath
Vous pouvez voir le projet ici: http://github.com/defunkt/resque
Je trouve que certaines personnes parlent de l'ajout d'un fichier rackup et de faire ce genre de chose:
run Rack::URLMap.new(\
"/" => ActionController::Dispatcher.new,
"/resque" => Resque::Server.new
)
Mais je ne sais pas vraiment où mettre ça ou comment le faire fonctionner. Mon déploiement se fait avec des passagers, mais ça me ferait plaisir de l'avoir aussi quand je cours sur 'rails server' aussi. Aucune suggestion?
--edit--
J'ai fait des progrès en mettant les éléments suivants dans config/routes.rb:
match '/resque(/:page)', :to => Rack::URLMap.new("/resque" => Resque::Server.new)
Ce qui semble fonctionner assez bien, mais il perd la dossier public, (qui est défini dans la gemme je suppose), et par conséquent, il n'y a pas d'informations de style, ni d'images.
Merci! C'est ce que je cherchais. Mais les URL ne correspondent pas à la racine. C'est à dire. toutes les URL passées à HomeApp commencent par '/ home'. Y a-t-il un moyen de les réorganiser? – zaius
Remplacez juste "match"/home "' par "match"/"'? –
Cela mappera toutes les routes vers l'application sinatra. Je veux/resque/home pour appeler/home dans l'application sinatra. La seule solution à laquelle je puisse penser est de jouer avec le Rack env et de démonter le chemin. – zaius