2013-03-16 2 views
0

Привет, Я пытаюсь сделать контроллер стойки похожим на Rack::URLBuilder, но у меня возникли проблемы с извлечением параметров.Извлечь параметры Ruby

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 вы используете? Более ранние версии будут печатать хеш-ключ и значение, смежные друг с другом, например 'testSinatra :: Application', но 1.9.3 печатает' {"test" => Sinatra :: Application} '. Тем не менее, ваш код _is_ возвращает хэш. –

ответ

0

Это часто помогает добавить .inspect, когда вы экспериментируете и ввод в отладочных следов и т.д.:

puts @map.inspect 

это дает лучший выход отладки, чем преобразование строк по умолчанию для многих классов.

Вы должны видеть, что данные, которые вы хотите, на самом деле есть.

+0

Спасибо за это, я смог увидеть, что на самом деле были данные в хэше – ny95

Смежные вопросы