Content_forの使い方
application.html.erbの内容は以下になっているとする。
<!DOCTYPE html> <html> <head> <% if content_for?(:head) %> <%= yield :head %> <% else %> <title>雑記メモ</title> <% end %> ・ ・ ・
通常、titleは雑記メモ
として出力されるが、例えば、_profile.html.erbに以下が挿入されている場合
<% content_for :head do %> <title><%= @user.name %> - ブログ</title> <meta name="description" content="<%= @user.name %>の雑記メモ。思ったことを色々書いてみるブログです。" > <% end %>
profileページのみ、titleがkafka4769 - ブログ
という感じで出力される。
また、metaタグのcontent内容なども出力が可能。
このように、特定のファイルに対して出力される内容を差し替えたい場合はcontnt_for
を使える。
content_forの挿入位置については、基本的にどこでも問題ないらしい。
とりあえず、下の方に入れておく感じでやる。