我如何使用sinatra http动词方法?

时间:2016-08-10 11:07:40

标签: ruby inheritance sinatra

我知道如何定义http verb methods(获取,发布,投注等)。我不明白的是我如何在我的应用文件中使用http动词方法,即使它们没有添加到Object

我理解他们是如何使用的,我只是想了解sinatra如何在幕后工作。

1 个答案:

答案 0 :(得分:1)

它使用Object模块扩展全局上下文(Sinatra::Delegator),该模块将路由定义的适当方法委派给Sinatra Application。 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

以下是构建类似sinatra的应用程序的一个很好的示例:https://robots.thoughtbot.com/lets-build-a-sinatra 上面的教程使用与Sinatra相同的委托方法。