1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【Rails】titleタグの内容をページ毎に切り替える

Posted at

プログラミング初心者の備忘録です。
間違った部分がありましたらご指摘いただけると幸いです。

やりたいこと

Railsでviewで表示されるtitleタグの内容をページ毎に切り替えたい。

環境

macOS
rails 6.1ver

1.共通レイアウトの編集

layouts/application.html.erbに下記のコードを記述する。

application.html.erb
<html>
  <head>
    <title><%= content_for?(:title) ? yield(:title) : "デフォルトタイトル" %></title>
  </head>
</html>

yieldメソッド ・・・ 個別レイアウトのビューコンテンツを挿入する位置を指定できる。
content_forメソッド ・・・ レイアウト内の名前のついたyieldブロックの位置にコンテンツを挿入する事ができる。上記コードでいう名前とは :title の部分を指す。

タイトルをつけていない個別レイアウトには :"デフォルトタイトル" の部分が反映されるコードになっている。

2.個別レイアウトの編集

個別レイアウトのファイルに下記のコードを記述する。今回はindex.html.erbとする。

index.html.erb
<%= content_for :title do %>
  Qiita記事一覧
<% end >

content_for ~ endで囲んだ内容が :title に代入される。
このレンダリング結果がレイアウトに挿入されると、下記のHTML記述になる。

<html>
  <head>
    <title>Qiita記事一覧</title>
  </head>
</html>

参照サイト

https://materializer.co/lab/blog/41
https://railsguides.jp/layouts_and_rendering.html

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?