次のコードを縮小するにはどうすればよいですか..代わりに1行で実行できますか?
<% if pos_count < 0 %>
<% pos_name = "SHORT" %>
<% else %>
<% pos_name = "LONG" %>
<% end %>
ありがとう!
次のコードを縮小するにはどうすればよいですか..代わりに1行で実行できますか?
<% if pos_count < 0 %>
<% pos_name = "SHORT" %>
<% else %>
<% pos_name = "LONG" %>
<% end %>
ありがとう!
条件演算子 (三項演算子) を使用して 1 行で実行できます。
<% pos_name = (pos_count < 0) ? "SHORT" : "LONG" -%>
このビュー ロジックのように見えますが、ベスト プラクティスはそれを最小化することです。これをビュー ヘルパー (または必要に応じてデコレータ) に抽出することをお勧めします。
Istvanが提案したように、三項演算子を使用できますが、読みやすくするために、if-elseステートメントのままにして、次のようにメソッドに移動します。
アプリ/ヘルパー/my_view_helper.rb
module MyViewHelper
def pos_name(pos_count)
if pos_count < 0
"SHORT"
else
"LONG"
end
end
end