Plusieurs Sinatra applications à l'aide de montage en rack
J'ai une question concernant l'utilisation de montage en rack avec Sinatra. J'en ai deux de style classique Sinatra apps. Appelons une Application définie dans l'app.rb et les autres API défini dans l'api.rb.
Je l'aime tellement que l'api.rb gère toutes les routes commençant par '/api " et app.rb traite de toutes les autres demandes, y compris la racine ('/').
Comment pourrais-je le configurer avec montage en rack? Ou est-il une meilleure solution que celle-ci?
Vous devez vous connecter pour publier un commentaire.
Je pense que vous préférez Rack::URLMap - il sera probablement ressembler à quelque chose comme ceci:
Qui devrait aller dans votre
config.ru
fichier.set :static, true
à votre Sinatra app.set :public, <your public dir>
. Sinatra Config a tous les détails de ce.:public, <my public dir>
etenable :static
travaillé. Merci!J'ai eu un problème similaire et je ne suis pas très familier avec Rack. Je ne pouvais pas comprendre ce qu'il faut faire sur la base des réponses ci-dessus. Ma dernière solution était d'avoir de la suite dans
config.ru
.Cela fonctionne parfaitement pour moi.
Dans
config.ru
vous pouvez aussi profiter de Sinatra middleware fonctionnalité. Si vous avez plusieurs Sinatra applications, chacune avec ses propres voies, et que vous voulez exécuter simultanément, vous pouvez les organiser dans l'ordre que vous souhaitez les trouve, par exemple,J'ai eu le même problème une fois, et alors je suis venu avec ce modèle: sinatra-rspec-bundler-modèle qui est layed dehors pour de multiples applications.
Il peut avoir plus de fonctionnalités que vous avez besoin, mais il devrait vous aider lorsque vous besoin de quelque chose "un peu plus" complexe.