我正在尝试在Rack中设置一个基本的路由系统,但是..我无法理解为什么第一个路由('/')有效,而第二个路径('/'')没有。在'/ help'的情况下返回的是NoMethodError。为什么会这样,我该如何解决?谢谢。
require 'rack'
class MyApp
def self.call(env)
new.call(env)
end
def self.get(path, &block)
@@routes ||= {}
@@routes[path] = block
end
def call(env)
dup.call!(env)
end
def call!(env)
@req = Rack::Request.new(env)
@res = Rack::Response.new
@res.write route(@req.path)
@res.finish
end
def route(path)
if @@routes[path]
@@routes[path].call
else
'Not Found'
end
end
def to_do(arg)
arg
end
end
MyApp.get '/' do
'index'
end
MyApp.get '/help' do
to_do 'help'
end
run MyApp