如何缩小以下代码..可以在一行中完成吗?
<% if pos_count < 0 %>
<% pos_name = "SHORT" %>
<% else %>
<% pos_name = "LONG" %>
<% end %>
谢谢!
答案 0 :(得分:14)
可以使用条件运算符(它是三元运算符)在一行中完成:
<% pos_name = (pos_count < 0) ? "SHORT" : "LONG" -%>
答案 1 :(得分:1)
看起来这个视图逻辑,最佳实践是最小化它。我建议将其解析为视图助手(如果您愿意,可以将装饰器提取出来)。
正如Istvan所说,建议您可以使用三元运算符,但为了便于阅读,我会将其保留为if-else语句并将其移动到类似的方法中:
应用程序/助手/ my_view_helper.rb
module MyViewHelper
def pos_name(pos_count)
if pos_count < 0
"SHORT"
else
"LONG"
end
end
end