Я следую за Rob Conery в его учебном видео Tekpub/Rails 3. Я думаю, что что-то изменилось между версиями Rack в видео-релизе (1.1) и версией на моей машине (1.4.5). Я не знаю, как понять, что мне нужно делать по-другому.Ruby on Rails/Rack 1.4.5 return from Call Method/Can not Convert String to Array
В следующем коде у меня есть строковая переменная 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`
Что я здесь отсутствует?
Ха! Благодарю. Я пытался использовать соединение, но не в том месте. :-) – XIVSolutions