rails 技術ブログ

rails 技術ブログ

勉強したことをアウトプットしていきます

content_forを使ってページごとにページのタイトルを変更する

application.html.erbに各ページのタイトルを受け取れるよう、yieldを記述します

<title><%= full_title(yield(:title)) %></title>



application.html.erbのfull_titleメソッドが使えるよう、ヘルパーで定義します

module ApplicationHelper
  def full_title(page_title = '')
    base_title = 'タイトル'
    if page_title.empty?
      base_title
    else
      page_title + ' | ' + base_title
    end
  end
end

↓のように短く記述することも可能です(三項演算子)

module ApplicationHelper
  def full_title(page_title = '')
    base_title = '技術ブログ'

    page_title.empty? ? base_title : page_title + " | " + base_title
  end



③各ページのviewでcontent_forを使ってそのページにアクセスした時に表示させたいタイトルを記述します

<% content_for(:title, '登録ページ') %>

上記のようにした場合、app/views/users/newページにアクセスするとタイトル部分が登録ページ | 技術ブログと表示されます