【rails】yieldメソッドについて
最近railsでアプリケーションを作成していると、なんとなくはわかっているつまりだけど
何かよくわかっていないという基礎的な内容があります。
今回はまさにその代表格かもしれないですね。
今回はyieldメソッドについて私なりに簡単に記載します。
yieldメソッドとは簡単にいうと、一つのレイアウトの中に 別のレイアウトを持ってくることができるrubyのメソッドです。 参考サイト https://www.sejuku.net/blog/20478
例えばrailsだとアプリケーションのレイアウトをまとめた「application.html.erb」ファイルが
あるのですがこのファイルのbodyタブに記載されています。
この記述があることで別フォルダに作成した全てのviewファイルを「application.html.erb」に集約することができます。
yieldを使わなければ、全てのviewの記載をbodyタブ内に記載することになります。
app/view/layouts/application.html.erb <!DOCTYPE html> <html> <head> <title>SelfRecord</title> <%= csrf_meta_tags %> <%= csp_meta_tag %> <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %> <%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %> </head> <body> <%= yield %> </body> </html>
<%= yield %>という一つの記載ですが、大きな役割を担っています。
普段意識することはないと思うのですが、この記載で別ファイルのviewを読み込んでいるのは
理解しておきたいです。