gpt4 book ai didi

sinatra - main :Object (NoMethodError) Sinatra 的未定义方法 `run'

转载 作者:行者123 更新时间:2023-12-02 11:05:00 25 4
gpt4 key购买 nike

require 'sinatra/base'

class Foo < Sinatra::Base
get('/foo') { 'foo' }
end

class Bar < Sinatra::Base
get('/bar') { 'bar' }
end

run Rack::Cascade, [Foo, Bar]

我只是无法猜测这段代码有什么问题。当我运行:ruby server.rb 时,它抛出一个错误

最佳答案

首先,最后一行应为

run Rack::Cascade.new [Foo, Bar]

但您只能在 Rackup 文件中使用它。其次,您需要创建一个名为 config.ru(Rackup 文件)的文件,其中包含以下内容:

require './app'
run Rack::Cascade.new [Foo, Bar]

以及一个名为 app.rb 的文件,其中包含您的实际应用程序:

require 'sinatra/base'

class Foo < Sinatra::Base
get('/foo') { 'foo' }
end

class Bar < Sinatra::Base
get('/bar') { 'bar' }
end

然后您可以通过在命令行中键入来启动服务器

$ rackup
>> Thin web server (v1.3.1 codename Triple Espresso)
>> Maximum connections set to 1024
>> Listening on 0.0.0.0:9292, CTRL+C to stop

之后,打开第二个命令行窗口并测试您的应用程序:

$ curl 0.0.0.0:9292/foo
foo%
$ curl 0.0.0.0:9292/bar
bar%

关于sinatra - main :Object (NoMethodError) Sinatra 的未定义方法 `run',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9786540/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com