yield
ブロックを呼び出すために使用されます。yield
レイアウトに使用される Rails ではどのように機能しますか?
-# application.html.haml
%body= yield
どこかでブロックを使用していますか、それともメソッドが単にオーバーライドされていますか?
ベストアンサー1
技術的には、yield
このコンテキストでもブロックを呼び出しています。ただし、ブロックはコントローラー アクションがレンダリングするように指示されたビューです。
たとえば、ホームページを表すアクションを持つ があるとします。ルートが正しく設定されている状態で、ホームページにアクセスします。Rails は、そのコントローラに適した のレイアウト ファイルを読み込みますStaticContentController
(コントローラのレイアウトでこれを上書きしていない限り )。 コマンドに到達すると、レイアウト内のの場所にビューが挿入されます。次に、レイアウト ファイルの残りの部分が読み込まれます。index
views/layouts
application.html.haml
yield
views/static_content/index.html.haml
yield