ichigoryume programming blog

プログラミングに関する備忘録。主にHTML5, C#, Swiftなど。

yieldとcontent_forの使い方

用途

例えば、Layout(application.html)側でHEADの骨格を定義し、
HEAD内のView毎に異なる部分はViewに記述する、など。

HAMLの例

Layout:application.html.haml

%html
  %head
    %meta{:content => "text/html; charset=UTF-8", "http-equiv" => "Content-Type"}/
    %title SAMPLE
    = csrf_meta_tags

    = yield :css
    = stylesheet_link_tag    'application', media: 'all', 'data-turbolinks-track': 'reload'

    = javascript_include_tag 'application', 'data-turbolinks-track': 'reload'
    = yield :javascript

  %body
    = yield

View : Hoge.html.haml

- content_for :css do
  = stylesheet_link_tag "hoge1", :media => "all"
  = stylesheet_link_tag "hoge2", :media => "all"

- content_for :javascript do
  = javascript_include_tag 'hoge3'

yield :XXX したところに埋め込む情報を fontent_for : XXX で書くイメージ。