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
参考
Rails tutorial 第10章 10.2.3 フレンドリーフォワーディング
https://railstutorial.jp/chapters/updating_and_deleting_users?version=5.1#sec-friendly_forwarding