provideやcontent_forヘルパーメソッドを使って、文字列やブロックをレイアウトファイルに渡す方法についてです。
●構文
content_for(name, content = nil, options = {}, &block)
provide(name, content = nil, &block)
●設定例1
各ビュー固有のページタイトルをprovideヘルパーメソッドを使って記述し、タイトルタグをレイアウトファイルに記述する
・個別のビュー
<% provide(:title, ‘連絡先’) %>
・レイアウトファイル
<html>
<head>
:
<title>サイトタイトル | <%= yield(:title) %></title>
:
</head>
<body>
<%= yield %>
</body>
</html>
●設定例2
権限がないユーザーに対して表示するアラートを多く場所で使用するため、content_forで設定しyieldで呼び出して使用する。
<% content_for :not_authorized do %>
alert('You are not authorized to do that!')
<% end %>
<%= yield :not_authorized if current_user.nil? %>