在轨道上安装Sinatra app 5

时间:2016-11-11 09:30:11

标签: ruby-on-rails ruby sinatra

我在网上搜索并且不知道为什么我会收到这个错误...

我正在尝试将我必须重构的Sinatra应用程序安装到rails应用程序中,以便我可以顺利完成转换,因此我创建了一个虚拟项目进行测试。

我的路线档案:

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

Sinatra app:

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

Sinatra应用程序位于lib目录,它正确自动加载,我试图在gemfile中添加Sinatra gem,我得到了一个

  

&#34;`require&#39;:无法加载此类文件 - rack / showexceptions(LoadError)&#34;

如果我没有在gemfile上添加gem,或者使用&#34; require:nil&#34;那个错误消失了,我又得到了另一个

  

&#34; /active_support/dependencies.rb:293:在`require&#39;:无法加载   file - rack / showexceptions(LoadError)&#34;

如果我需要&#39; sinatra&#39;在Sinatra应用程序上,它再次因另一个加载错误崩溃....

我需要在rails应用程序内部运行Sinatra应用程序,以便我可以导航Sinatra应用程序,就像它在没有rails的情况下运行所以我可以测试功能并将它们迁移到rails应用程序。

1 个答案:

答案 0 :(得分:0)

我能够用更新版本的sinatra来解决这个问题。

 static void test3() {
    JFrame f = new JFrame("Test");
    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    f.setSize(800, 360);
    Container pane = f.getContentPane();
    pane.setLayout(new GridBagLayout());

    String[] a = {
            "Lorem ipsum dolor sit amet",
            "consectetur adipisicing",
            "elit,",
            "sed do",
            "eiusmod",
    };
    for (int i = 0; i < 5; i++) {
        JButton test=new JButton(a[i]);
        GridBagConstraints c = new GridBagConstraints();
        c.gridx = i %3;
        c.gridy = i /3;
        c.fill = GridBagConstraints.HORIZONTAL;
        test.setPreferredSize(new Dimension(250,25));
        f.add(test, c);
    }
    f.setVisible(true);
}