Ruby on Rails はレイアウトに yield をどのように使用しますか? 質問する

Ruby on Rails はレイアウトに yield をどのように使用しますか? 質問する

yieldブロックを呼び出すために使用されます。yieldレイアウトに使用される Rails ではどのように機能しますか?

-# application.html.haml
%body= yield

どこかでブロックを使用していますか、それともメソッドが単にオーバーライドされていますか?

ベストアンサー1

技術的には、yieldこのコンテキストでもブロックを呼び出しています。ただし、ブロックはコントローラー アクションがレンダリングするように指示されたビューです。

たとえば、ホームページを表すアクションを持つ があるとします。ルートが正しく設定されている状態で、ホームページにアクセスします。Rails は、そのコントローラに適した のレイアウト ファイルを読み込みますStaticContentController(コントローラのレイアウトでこれを上書きしていない限り )。 コマンドに到達すると、レイアウト内のの場所にビューが挿入されます。次に、レイアウト ファイルの残りの部分が読み込まれます。indexviews/layoutsapplication.html.hamlyieldviews/static_content/index.html.hamlyield

おすすめ記事