我正在关注 Rob Conery 在他的 Tekpub/Rails 3 教程视频中。我认为视频版本 (1.1) 中的 Rack 版本和我机器上的版本 (1.4.5) 之间发生了一些变化。我不知道如何弄清楚我需要做些什么不同的事情。
在下面的代码中,我有一个字符串变量out
,并试图将一个字符串变量(MyApp.Call
方法返回的数组的第三个元素)连接到它上面。
class EnvironmentOutput
def initialize(app)
@app = app
end
def call(env)
out = ""
unless(@app.nil?)
response = @app.call(env)[2]
# The Problem is HERE (Can't Convert Array to String):
out+=response
end
env.keys.each {|key| out+="<li>#{key}=#{env[key]}"}
["200", {"Content-Type" => "text/html"}, [out]]
end
end
class MyApp
def call(env)
["200", {"Content-Type" => "text/html"}, ["<h1>Hello There</h1>"]]
end
end
use EnvironmentOutput
run MyApp.new
但我得到了错误:
"Can't Convert Array to String" at `out+=response`
我在这里想念什么?