与do end 一起使用时抛出抛出错误
这不起作用:
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)
您的第一个代码被解释为:
run(Proc.new) do |env| ... end
并且块被传递给run
而不是new
。 这个问题可以通过以下方式解决:
run(Proc.new do |env| ... end)