代码之家  ›  专栏  ›  技术社区  ›  kapso

Rails 3和Sinatra集成问题

  •  0
  • kapso  · 技术社区  · 16 年前

    我试图在我的Rails 3(v3.0.1)应用程序中设置一个sinatra应用程序,但没有成功。西纳特拉gem(v1.1.0)是使用bundle install安装的。

    这是我有的。

    客户应用程序rb lib目录中的类-

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

    我的 路线.rb 文件包含-

    CustomerService::Application.routes.draw do
    
        root :to => CustomerApp
    
    end
    

    我正在尝试的URL是- http://localhost:3000/test

    我得到这个错误(在浏览器上)- 路由错误。没有路由匹配“/测试”

    日志中的这个错误- ActionController::RoutingError(没有路由匹配项“/test”):

    我有什么遗漏吗??

    而且我刚刚注意到,即使是简单的机架路径也不起作用-

    root :to => proc { |env| [200, {}, ["Welcome!"]]}
    
    1 回复  |  直到 16 年前
        1
  •  0
  •   Simone Carletti    16 年前

    这个 root 默认情况下,关键字只映射路径 / .

    所以你想说,转发任何请求 / 到 CustomerApp 它可以处理 /test .

    你应该更换匹配过滤器。

    CustomerService::Application.routes.draw do
      match "/test" :to => CustomerApp
    end