我正在开发Rails 3应用程序,需要以下列格式显示一些测试结果:
TestLower TestResult TestUpper
1.1 1.5 2.0
我想做的是,如果值在下限和上限之内,则给结果一个css类,如果值超出范围,则给它一个不同的css类。
我之前使用过if和unless语句,但这有点复杂,因为我需要将一个值与另外两个值进行比较,而不是将一个值与另一个值进行比较。
我能想到的唯一方法就是涉及很多if语句和后备。例如'if @ lab.TestResult> @ lab.TestLower'然后让另一个检查它低于TestUpper。
有一种简单的方法吗?也许某种形式的rails编号助手?
任何帮助将不胜感激!
答案 0 :(得分:5)
Ruby也有between?
:
if (value.between?(lower, higher))
...
您可以将它与rails中的content_tag
帮助器结合使用:
content_tag(:span, value, :class => value.between?(lower, higher) ? "between" : "not-between")
答案 1 :(得分:2)
你可以在同一条件下进行两项检查:
lower, upper, value = ...
if value > lower and value < upper
puts "In range"
else
puts "Out of range"
end