在 rails 上安装 Sinatra 应用程序 5

Mounting Sinatra app on rails 5

我在网上搜索过,但不知道为什么会出现此错误...

我正在尝试安装一个 Sinatra 应用程序,我必须将其重构为一个 rails 应用程序,这样我才能顺利进行转换,所以我创建了一个虚拟项目来测试。

我的路线文件:

Rails.application.routes.draw do   
  match "/sinatra" => SinatraApp, :anchor => false 
end

Sinatra 应用程序:

class SinatraApp < Sinatra::Base
  get "/" do
    "Hello Sinatra World"
  end
end

Sinatra 应用程序位于 lib 目录中,它可以正确自动加载,我尝试将 Sinatra gem 添加到 gem 文件中,我得到了一个

"`require': cannot load such file -- rack/showexceptions (LoadError)"

如果我不在 gem 文件上添加 gem,或者使用 "require:nil",错误就会消失,我会得到另一个

"/active_support/dependencies.rb:293:in `require': cannot load such file -- rack/showexceptions (LoadError)"

如果我在 Sinatra 应用程序上需要 'sinatra',它会再次崩溃并出现另一个加载错误....

我需要在 rails 应用程序中安装 Sinatra 应用程序 运行,这样我就可以像 运行 没有 rails 的 Sinatra 应用程序一样导航,这样我就可以测试功能并将它们迁移到 rails 应用程序。

我使用更新版本的 sinatra 解决了这个问题。

gem 'sinatra', '2.0.0.beta2'