This question already has an answer here:
Does anybody know what's causing this error? I'm trying to make a basic rack application.
App.rb =>
class Cherry
class << self
def app &block
Cherry::Application.new &block
end
end
class Application
def initialize &block
instance_eval &block
end
def print_start_message
puts "Starting server"
end
def call env
[200, {"Content-type" => "text/plain"}, "Hello World"]
end
end
end
Config.ru =>
require 'app'
run Cherry.app do
print_start_message
end
EDIT: Apparently I forgot to include the error woops:
/local/www/cherry/lib/app.rb:12:in 'instance_eval': block not supplied (ArgumentError)
Fixed it! Apparently you need brackets around the Cherry.app do..
block:
run(Cherry.app do
"Hello World"
end)
来源:https://stackoverflow.com/questions/12175788/instance-eval-block-not-supplied