タイトルを動的に表示する

 

カスタムヘルパーを使い、動的にタイトルを表示する。

今回実装したいこと

下の写真のようにタイトルを表示したい f:id:Mekun:20210623124335p:plain

今回つまづいたところ

  • カスタムヘルパーの定義
  • 三項演算子とは?
  • empty? メソッドとは
カスタムヘルパーの定義
module ApplicationHelper

  def page_title(page_title = '')
    base_title = '掲示板'

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

end


三項演算子とは?

三項演算子を使用するとif文を短く書くことができる
下記の二つのコードは同じ意味

    #if文
    if page_title.empty?
       base_title
    else
       base_title : page_title
    end

    #三項演算子
    page_title.empty? ? base_title : page_title + " | " + base_title
  end


empty? メソッドとは

文字列が空 (つまり長さ 0) の時、真を返します 今回はpage_titleに文字列が入らない場合、base_title = 掲示板が出力される

"hello".empty?   #=> false
" ".empty?       #=> false
"".empty?        #=> true


参考にしたサイト

docs.ruby-lang.org

study-diary.hatenadiary.jp