2013-03-16 193 views
0

嗨,我试图使一个机架控制器类似于Rack::URLBuilder,但我有麻烦提取参数。提取红宝石参数

config.ru

run Example::Controller.new ([ 
    "test" => Sinatra::Application 
]) 

controller.rb

module Example 
    class Controller 

    def initialize(map = {}) 
     @map = map 
    end 

    def call(env) 
     puts @map 
    end 

    end 
end 

此代码推出:

testSinatra::Application

我每次运行应用程序时

。我怎样才能提取一个值作为测试和另一个值作为Sinatra::Application

+1

您使用的是哪个版本的Ruby?早期的版本会打印一个散列的key和value,如'testSinatra :: Application',但是1.9.3打印'{“test”=> Sinatra :: Application}'。不过,你的代码会返回一个散列。 – 2013-03-16 22:17:15

回答

0

它常常有助于增加.inspect当你尝试并投入调试跟踪等:

puts @map.inspect 

这给你比更好的调试输出许多类的默认字符串转换。

你应该看到你想要的数据实际上就在那里。

+0

谢谢你,我可以看到实际上有散列数据 – ny95 2013-03-23 00:49:35