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? %>