fv17の日記

Webエンジニアの備忘用ブログです。主にWeb界隈の技術に関して書いています。

Ruby - if文を一行にまとめる技

ある値がnilかどうかでif文を分岐させる場合、引数で || 記法が使えないかを検討する

if文で分岐させる書き方

def redirect_back_to(default)
  if session[:forwarding_url].nil?
    redirect_to default
  else
    redirect_to session[:forwarding_url]
    session.delete(:forwarding_url)
  end
end

|| を使うことで動的に引数を指定する書き方

def redirect_back_to(default)
  redirect_to(session[:forwarding_url] || default)
  session.delete(:forwarding_url)
end