amrailsでerbファイルでyieldを呼び出すと読み込むコンテンツを表示しているけど、実際何がおこっているのかわからない。yield自体はrubyのそれだと思うんだけど。block_given?の結果yieldが実行されているということは、呼び出し時にブロック関数が渡されているんだよね、多分。pryで確認してみる。ブロック関数はありますね。関数のスタック先にこっちを見た方がいいのかな。<ActionController::Streaming#_render_template(options)>...まずはActionView::Template#renderから。action_view/template.rbの中にいました。順当にいけばreturnされるのは、&blockを引数に含んでいるview.sendメソッドっぽい。&blockはActionView::Template#renderの引数で渡ってきてる。ActionView::TemplateRenderer#render_with_layoutが元になるのかな。view._layout_for(*name)}それっぽいのがあった。ブロック内の処理view._layout_forがどこで呼ばれているのか。content)という処理をしている。view_flowの中を覗いてみるとこんな感じ。application.\n</p>\n"}>実際に埋め込まれている内容のHashじゃないか。この辺にあたりをつけたらaction_view/context.rbにいた。view_flow.get(name).html_safeendview_flowからnameのシンボルをとってきて、html_safeってメソッドを呼び出してる。これはActiveSupportのString拡張クラスで新しい文字列オブジェクト作っているだけみたい。この結果がyieldの結果になっているんですね。Whitespace。