SinatraのHTMLが生成され画面に返却されるまでのコードを読んでみた。Blog主に技術系の学習メモに使っていきます。SinatraのHTMLが生成され画面に返却されるまでのコードを読んでみた。bodyが生成されるまでを見ていきます!👇前回までの内容はこちら、以前の記事を前提として書いてますので1回目、2回目を読んで頂いた方が分かりやすいかと思います。madogiwa0124.hatenablog.commadogiwa0124.hatenablog.com目次はじめにテンプレートの取得とHTMLテキストの生成レスポンスボディへの設定おわりにはじめにサンプルのアプリケーションの実装は下記の通りです。今回はerbが実行されて実際にresponseのbodyが生成されるまでをみていきます。前提知識としてgetメソッド内でインスタンス変数が定義されていますが、このインスタンス変数は、Sinatra::Appricationのインスタンス変数になるということを覚えておきましょう。GitHubテンプレートの取得とHTMLテキストの生成では早速、最初に実行されるerbメソッドから見ていきます。erbメソッドを実行すると引数に:erbを渡してrenderメソッドが実行されます。&block)endrenderメソッドの中では、optionの生成compile_templateを使ってレンダリングに使用するtemplateのオブジェクトを生成template.renderを使ってテンプレートエンジンを使ったHTMLテキストの生成layoutのレンダリング処理ちなみに、このrenderメソッドはindex.erbのレンダリング、layout.erbのレンダリングの2回実行されます。ここでscopeに`Sinatra::Application`のインスタンスが格納される。ここからテンプレートを取得してレンダリングする。outputに実際のレンダリング済みのHTMLテキストが格納される。最終的なHTMLテキストが返却される。ここでlayoutのレンダリング処理が実行される。:layoutになる。これらは全部nilになってる。:indexendこれを踏まえてresponceの生成処理を見ていきます。dispath!の中ではroute!が実行されてroutingの処理(getで定義した処理)が実行されます。}でdispath!が実行されて、resに返り値の最終的なHTMLテキストが格納されます。dispath!が実行されてされてHTMLテキストが返却される。SinatraのHTMLが生成され画面に返却されるまでのコードを読んでみた。»プロフィールid:madogiwa0124プログラミングの学習メモや書籍の感想等を公開していきます。ActivitiesMadogiwa0124はてなブログをはじめよう!madogiwa0124さんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。