2016-08-10 6 views
0

Я знаю, как определяются http verb methods (get, post, puts и т. Д.). Я не понимаю, как я могу использовать методы http-глаголов в своем файле приложения, даже если они не добавлены в Object?Как использовать методы глагола http:

Я понимаю, как они используются, я просто пытаюсь понять, как синатра работает под капотом.

+0

В официальной документации есть все, что вам нужно. http://www.sinatrarb.com/intro.html В разделе «Маршруты» содержатся примеры с различными глаголами http. – SunnyMagadan

+0

@SunnyMagadan Я уточнил свой вопрос – thesecretmaster

ответ

1

Он распространяет глобальный контекст (Object) с модулем Sinatra::Delegator, который делегирует соответствующие методы определения маршрутов в приложение Sinatra. https://github.com/sinatra/sinatra/blob/4797c022c96f7e023a365d5852c89fde0e08fa3e/lib/sinatra/main.rb#L31

https://github.com/sinatra/sinatra/blob/4797c022c96f7e023a365d5852c89fde0e08fa3e/lib/sinatra/base.rb#L1925-L1949

Вот хороший пример здания Синатра типа приложения: https://robots.thoughtbot.com/lets-build-a-sinatra выше учебник использует тот же подход делегирования как Синатра.

+0

Итак, методы http-глагола являются частью класса, который распространяется главным образом? – thesecretmaster

+0

Также, спасибо за ссылку на учебник. Я на самом деле уже это сделал и имел некоторые вопросы об этом (если бы вы были заинтересованы в ответе) [здесь] (http://stackoverflow.com/questions/38357195/how-does-sinatra-start-the-server). – thesecretmaster

+1

Да. Эти методы http-глаголов определены в Sinatra :: Application и Sinatra :: Делегатор просто позволяет использовать их из глобального контекста, введя их в Object. – SunnyMagadan

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