Ruby on rails 3 检查值是否在Rails 3中的范围内?

Ruby on rails 3 检查值是否在Rails 3中的范围内?,ruby-on-rails-3,if-statement,range,Ruby On Rails 3,If Statement,Range,我正在使用Rails 3应用程序,需要以以下格式显示一些测试结果: TestLower TestResult TestUpper 1.1 1.5 2.0 我想做的是,如果值在下限和上限内,给结果一个css类,然后如果值超出范围,给它一个不同的css类 我以前使用过if和除非语句,但这有点复杂,因为我需要比较一个值和另外两个值,而不是一个值和另一个值 我能想到的唯一方法是使用相当多的if语句和回退。例如“if@lab.TestResult>@

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

TestLower     TestResult    TestUpper
1.1           1.5           2.0
我想做的是,如果值在下限和上限内,给结果一个css类,然后如果值超出范围,给它一个不同的css类

我以前使用过if和除非语句,但这有点复杂,因为我需要比较一个值和另外两个值,而不是一个值和另一个值

我能想到的唯一方法是使用相当多的if语句和回退。例如“if@lab.TestResult>@lab.TestLower”,然后使用另一个相同的选项检查它是否低于testuper

有没有一个简单的方法可以做到这一点?也许是某种形式的rails号码助手


任何帮助都将不胜感激

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

lower, upper, value = ...
if value > lower and value < upper
  puts "In range"
else
  puts "Out of range"
end
Ruby还有:

您可以将其与rails中的帮助器结合使用:

content_tag(:span, value, :class => value.between?(lower, higher) ? "between" : "not-between")

那看起来很方便!谢谢
content_tag(:span, value, :class => value.between?(lower, higher) ? "between" : "not-between")