1

有问题的宝石是async_sinatra。我已经安装了它,并在 Gemfile 中运行了一个捆绑安装,但我一直收到同样的错误:

NoMethodError: undefined method 'aget' for main:Object

无论如何要帮助解决这个问题?

注意:我正在运行最新的 Sinatra,并且正在使用 Thin webserver,并且正在运行 JRuby 1.6.7。

我们使用的示例代码是:

require 'sinatra/async'

class AsyncTest < Sinatra::Base
  register Sinatra::Async

  aget '/' do
    body "hello async"
  end
end

run AsyncTest.new
4

2 回答 2

0
  1. 将文件重命名为config.ru
  2. 确保require 'sinatra'在文件顶部
  3. 运行它rackup config.ru

适用于我在 OSX 10.7 上的 MRI 1.9.3p125、thin 1.3.1、sinatra 1.3.2 和 async_sinatra 1.0.0。

于 2012-07-04T09:13:16.610 回答
0

文档说您需要注册中间件也许这就是问题所在?如果没有那条线,恐怕您的应用程序会从gem 的一部分中获取方法,Sinatra::Base而没有任何方法,因此可以工作,也不能asyncgetaget

于 2012-07-04T09:37:24.880 回答