3

我怎样才能缩小下面的代码。它可以在一行中完成吗?

<% if pos_count < 0 %>
  <% pos_name = "SHORT" %>
  <% else %>
  <% pos_name = "LONG" %>
<% end %>

谢谢!

4

2 回答 2

14

可以使用条件运算符(它是三元运算符)在一行中完成:

<% pos_name = (pos_count < 0) ? "SHORT" : "LONG" -%>
于 2012-09-27T19:32:58.800 回答
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
于 2012-09-27T21:27:42.040 回答