0

我正在开发 Rails 3 应用程序,需要以下列格式显示一些测试结果:

TestLower     TestResult    TestUpper
1.1           1.5           2.0

我想做的是,如果值在下限和上限范围内,则给结果一个 css 类,如果值超出范围,则给它一个不同的 css 类。

我之前使用过 if 和 unless 语句,但这有点复杂,因为我需要将一个值与其他两个值进行比较,而不是一个值与另一个值进行比较。

我能想到的唯一方法将涉及相当多的 if 语句和后备。例如'if @lab.TestResult > @lab.TestLower' 然后有另一个相同的检查它低于TestUpper。

有没有一种简单的方法可以做到这一点?也许某种形式的rails number helper?

任何帮助,将不胜感激!

4

2 回答 2

5

红宝石还有between?

if (value.between?(lower, higher)) 
   ...

content_tag您可以将它与rails中的助手结合使用:

content_tag(:span, value, :class => value.between?(lower, higher) ? "between" : "not-between")
于 2012-04-26T09:37:36.650 回答
2

您可以在相同的 if 条件下进行这两项检查:

lower, upper, value = ...
if value > lower and value < upper
  puts "In range"
else
  puts "Out of range"
end
于 2012-04-26T09:27:43.163 回答