LoginSignup
0
0

More than 1 year has passed since last update.

【Rails,Ruby】ページタイトルヘルパーを三項演算子でシンプルに

Last updated at Posted at 2022-02-12

三項演算子

三項演算子(ternary operator)とは、if文を簡略化する書き方の一つ。
その意味合いは、ternary(三つの要素からなる)という言葉とoperator(演算子)という言葉を組み合わせたもの。
具体的には、下記のように「?」と「:」という演算子を使って、if, else, end という三つの要素を一行で書けるというもの。

  • if文による書き方
if name=="Taro"
  "Yes, I am Taro"
else
  "No, I am #{name}"
end
  • 三項演算子による書き方
name=="Taro" ? "Yes, I am Taro" : "No, I am #{name}"

ページタイトルヘルパーへの応用

この書き方を利用して、ページタイトルヘルパーもシンプルに書ける。
(page_titleは provide(:title, 'タイトル名')でページごとに与える。)

  • 変更前
application_helper.rb
module ApplicationHelper
  BASE_TITLE = "HOGE".freeze
  def full_title(page_title)
    if page_title.blank?
      BASE_TITLE
    else
      "#{page_title}  -  #{BASE_TITLE}"
    end
  end
end
  • 変更後
application_helper.rb
module ApplicationHelper
  BASE_TITLE = "HOGE".freeze
  def full_title(page_title)
    page_title.blank? ? BASE_TITLE : "#{page_title}  -  #{BASE_TITLE}"
  end
end
0
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
0
0