if文を使っていてなーんかモサッとしている..と思ったことはありませんか?
def add_button_name
if controller.action_name == 'show'
"コメントを投稿する"
else
"コメントを更新する"
end
end
※なーんかモサッとしているif文
こんなモサッとしているif文は、三項演算子(条件演算子)を使ってスリムに書いてみましょう!
三項演算子(条件演算子)とは
三項演算子(条件演算子)を使用することによって
if 条件
式1
else
式2
end
このようなif文を
条件 ? 式1 : 式2
のように、書き換えることができます。
先ほどの例を書き換えてみる
【モデルケース】
・通常時
def add_button_name
if controller.action_name == 'show'
"コメントを投稿する"
else
"コメントを更新する"
end
end
** 三項演算子(条件演算子)**
def add_button_name
controller.action_name == 'show' ? "コメントを投稿する" : "コメントを更新する"
end
スリムに書けましたね!
注意点
三項演算子(条件演算子)を使用した書き方は、複雑なif文を書き換えるのには、向いていません。素直にif文を使用しましょう。
controller.action_nameについてはこちら