動的なタイトルの実装
例えば今回トップページのタイトルを「 RUNTEQ BORAD APP 」
ユーザーログインタイトルを「 ログイン | RUNTEQ BORAD APP 」
とする。このようにタイトルの一部分だけ変更して表示する機能は
application_helper.rbに
以下のモジュールメソッドを用いて作成する
#application_helper.rb module ApplicationHelper def page_title(page_title = '') base_title = 'RUNTEQ BORAD APP' if page_title.empty? base_title else page_title + " | " + base_title end
上記のメソッドはbase_title変数にRUNTEQ BORAD APPを代入して、
if page_title.empty?によって引数(page_title)に渡された値が空かどうかを判定、
空であるならbase_titleを返し、空でないなら「page_title」と「
| 」と「base_title」を連結させたものを返すメソッド。
このメソッドをapplication_helper.rb記載するのはどこでも使えるようにするため
次にapplication.html.erbのheadタグ内に
<title><%= page_title(yield(:title)) %></title>
を記載、このyield(:title)にcontent_forメソッドをユーザーのログイン画面のビューの方に
<% content_for :title do %> ログイン <% end %>
と記載することでcontent_forのブロック内の値を送ることができる
これによりタイトルを動的に出力できるようになる!!
参考文献