2013-03-16 121 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