在 Rails 应用程序中安装 Sinatra 应用程序及其所有路由
Mounting a Sinatra app and all its routes in a Rails application
我有以下 Sinatra 应用程序:
class MyFakeAPI < Sinatra::Base
get "/" do
"Hello World"
end
get "widgets" do
# code that renders widgets.json
end
end
我正在尝试,当 运行 集成测试时,为这个 Sinatra 应用程序提供服务,以请求 /api 代表一个很少使用的第三方 api。
伪造的 api 在通过网络模拟的 to_rack 方法调用时效果很好。
然而当我这样挂载时:
if Rails.env.test?
mount MyFakeAPI.new => "/api"
end
访问 /api 呈现 hello world,但访问 /api/widgets 会产生 rails 路由错误。
如何将 /api 下的所有流量路由到 Sinatra 应用程序?
所以问题最终是我错过了 get 路由中小部件之前的前导 /
,所以它没有被正确路由。
我有以下 Sinatra 应用程序:
class MyFakeAPI < Sinatra::Base
get "/" do
"Hello World"
end
get "widgets" do
# code that renders widgets.json
end
end
我正在尝试,当 运行 集成测试时,为这个 Sinatra 应用程序提供服务,以请求 /api 代表一个很少使用的第三方 api。
伪造的 api 在通过网络模拟的 to_rack 方法调用时效果很好。
然而当我这样挂载时:
if Rails.env.test?
mount MyFakeAPI.new => "/api"
end
访问 /api 呈现 hello world,但访问 /api/widgets 会产生 rails 路由错误。
如何将 /api 下的所有流量路由到 Sinatra 应用程序?
所以问题最终是我错过了 get 路由中小部件之前的前导 /
,所以它没有被正确路由。