部署时如何使用 "side sinatra app"?

How can I use a "side sinatra app" when deploying?

我有一个普通的 rails 应用程序,它现在可以获取一些在 Sinatra 应用程序中呈现的小部件。

在我的本地计算机上,我 运行 rails sruby lib/sinatra/widget.rb 然后从 rails 应用程序中获取内容。因此 localhost:3000localhost:4567 可以很好地协同工作。

如何在暂存环境中执行所有这些操作?部署本身正在运行,rails 应用程序启动。我现在如何访问 Sinatra 的内容?

一个想法是将 Sinatra 应用程序安装到 rails 应用程序中的某个路径?有什么想法、建议吗?

Here 是 Thoughtbot 的一篇文章,其中展示了如何在 Rails 应用程序中使用 Sinatra 应用程序的两种方法。

更简单的方法是使用Rails路由器:

require 'my_sinatra_app'

MyRailsApp::Application.routes.draw do
  mount MySinatraApp.new => '/sinatra'
end

除非您需要为每个应用程序自定义中间件,否则这是一种更可取的方法。