content_for
content_forとは
各ページごとにタイトルを変更したい場合に使用
コンテンツを名前付きのyieldブロックとしてレイアウトに挿入できる
ヘルパーメソッドの作成
app/helpers/application_helper.rb def page_title(page_title = '') base_title = 'Ruby on Rails 学習記録' #ページタイトルが空がどうかで処理が変わる #条件式(.empty?) ? trueの処理 : falseの処理の形で記述 #emptyはオブジェクトの中身が空の場合にtrueを返すメソッド page_title.empty? ? base_title : page_title + " | " + base_title end
作成したヘルパーで全体のレイアウト
app/views/layouts/application.html.erb <title><%= page_title(yield(:title)) %></title>
各ビューファイルに記述
<%= content_for(:title, t('.title')) %>
yieldメソッド
ビューを挿入すべき場所を指定するのに使用する