【发布时间】:2014-08-09 09:50:15
【问题描述】:
这不起作用:
run Proc.new do |env|
[200,
{
"Content-Type" => "application/json; charset=UTF-8"
}, ["{\"name\":\"Rack App\"}"]]
end
但这确实:
run Proc.new { |env|
[200,
{
"Content-Type" => "application/json; charset=UTF-8"
}, ["{\"name\":\"Rack App\"}"]]
}
任何想法,为什么与 do..end 一起使用时会抛出错误?
我得到的错误:
app.ru:1:in new: tried to create Proc object without a block (ArgumentError)
【问题讨论】:
-
do endvs{ }具有不同的优先级,因此它可能会像run do; # code end; Proc.new这样运行,但{}可能会按照您的意图运行:proc11 = Proc.new {; # code }; run proc11。好吧,我认为这是问题所在,但我不太了解机架,这就是为什么它是评论而不是答案。