私はhttp verb methods(get、post、putsなど)の定義方法を知っています。私が理解していないのは、Object
に追加されていないにもかかわらず、私のアプリケーションファイルにhttp動詞のメソッドを使用する方法です。sinatra http動詞の方法はどのように使用できますか?
私は彼らがどのように使われているのか理解していますが、私はsinatraがどのようにフードの下で動作するのか理解しようとしています。
私はhttp verb methods(get、post、putsなど)の定義方法を知っています。私が理解していないのは、Object
に追加されていないにもかかわらず、私のアプリケーションファイルにhttp動詞のメソッドを使用する方法です。sinatra http動詞の方法はどのように使用できますか?
私は彼らがどのように使われているのか理解していますが、私はsinatraがどのようにフードの下で動作するのか理解しようとしています。
Sinatra::Delegator
モジュールを使用してグローバルコンテキスト(Object
)を拡張し、Sinatra Applicationへのルート定義に適切なメソッドを委任します。ここで https://github.com/sinatra/sinatra/blob/4797c022c96f7e023a365d5852c89fde0e08fa3e/lib/sinatra/main.rb#L31
シナトラのようなアプリケーションを構築する良い例です:チュートリアルの上https://robots.thoughtbot.com/lets-build-a-sinatra はシナトラと同じ委任アプローチを使用しています。
したがって、http動詞のメソッドは、主な拡張クラスの一部ですか? – thesecretmaster
また、チュートリアルのリンクに感謝します。私は実際にすでにそれを完了し、それについてのいくつかの質問がありました(もしあなたが答えることに興味があれば)[ここ](http://stackoverflow.com/questions/38357195/how-does-sinatra-start-the-server )。 – thesecretmaster
はい。これらのhttp動詞メソッドはSinatra :: Applicationで定義されており、Sinatra :: DelegatorはグローバルコンテキストからそれらをObjectに注入するだけで使用できます。 – SunnyMagadan
公式ドキュメントには、必要なものすべてが含まれています。 http://www.sinatrarb.com/intro.html ルートセクションには、さまざまなhttp動詞の例が含まれています。 – SunnyMagadan
@SunnyMagadan私は質問を明確にしました – thesecretmaster