質問: "キャッチコピー" else "#{page_title} | #{base_title}" end end end ``` 今今ではサイトのトップページには**”キャッチコピー”**のみを表示することができていますが、もう1ページにサイト名を入れずに**”サイトについて”**というタイトルのみのページタイトルを作りたいと思っています。 if文について知識が浅く、サイトで調べて実践してみましたが、どうもうまくいかずに困っています。 回答を参考に追記 -------- 回答ありがとうございます。 「特定のページ」という文言が自分視点のわかりずらい言葉になっていましたので追記いたします。 上記にあります、application_helper.rb内のヘルパーにより、 user.html.erb ``` <% provide(:title,"ユーザーページ") %> ``` と書けば、タイトルは **ユーザーページ|サイト名** になります。 しかし、全てのページに ”page_title”|サイト名 を反映させたくはなく、**page_titleもしくはbase_titleのみを表示したいページが2箇所**あります。 **その2箇所が=”特定のページ”になります。** 1つ目が「キャッチコピー」をタイトルに追加したいページ 2つ目が「サイトについて」をタイトルに追加したいページ 現在 以下のソースコードで、「キャッチコピー」は表示できています。 ``` <%= full_title(yield(:title)) %> ``` あとは「サイトについて」のみを表示するif文を作れたらなと思っています。
回答: 特定の条件という条件はどんなものかわかりませんが恐らくあるcontroller内ということでしょうか `controller.controller_name`でcontroller名が取得できるので ``` def full_title(page_title) base_title = "サイト名" if controller.name == "表示させたくないcontroller名" "" elsif page_title.empty? base_title = "キャッチコピー" else "#{page_title} | #{base_title}" end end ``` controller全体で共通ということにはしたくなく、あるアクションにおいてというときは`controller.action_name`でaction名が取得できますね