Ruby HelloWorld机架程序:NoMethodError:未定义的方法'each'
我试图在HelloWorld机架下执行程序,但出现了一个错误。谢谢你的帮助 ruby版本ruby 1.9.3p448 2013-06-27[x86_64-cygwin]Ruby HelloWorld机架程序:NoMethodError:未定义的方法'each',ruby,rack,Ruby,Rack,我试图在HelloWorld机架下执行程序,但出现了一个错误。谢谢你的帮助 ruby版本ruby 1.9.3p448 2013-06-27[x86_64-cygwin] # helloworld.rb require 'rack' require 'rack/server' class HelloWorld def response [200, {}, 'Hello World'] end end class HelloWorldApp def self.call(env)
# helloworld.rb
require 'rack'
require 'rack/server'
class HelloWorld
def response
[200, {}, 'Hello World']
end
end
class HelloWorldApp
def self.call(env)
HelloWorld.new.response
end
end
Rack::Server.start :app => HelloWorldApp
错误
更改:
def response
[200, {}, 'Hello World']
end
致:
数组中从响应返回的第三项,即主体必须响应each方法。数组,例如 从: 身体 正文必须对每个字符串进行响应,并且只能产生字符串值。这个 正文本身不应该是字符串的实例,因为这将打断 Ruby 1.9。如果主体对关闭作出响应,则会在关闭后调用它 迭代。如果操作后主体被中间件替换,则 如果原始主体响应关闭,则必须首先关闭。如果 Body响应_路径,它必须返回一个字符串来标识 文件的位置,该文件的内容与 互相呼叫;服务器可将其用作替代方案, 可能是传输响应的更有效的方法。身体 通常是字符串数组、应用程序实例本身或 类似文件的对象
谢谢你的推荐。
def response
[200, {}, 'Hello World']
end
def response
[200, {}, ['Hello World']]
end