检查一个值是否在Rails 3的范围内?

dan*_*mcc 0 if-statement range ruby-on-rails-3

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

TestLower     TestResult    TestUpper
1.1           1.5           2.0
Run Code Online (Sandbox Code Playgroud)

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

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

我能想到的唯一方法就是涉及很多if语句和后备.例如'if @ lab.TestResult> @ lab.TestLower'然后让另一个检查它低于TestUpper.

有一个简单的方法吗?也许某种形式的rails编号助手?

任何帮助,将不胜感激!

pju*_*ble 5

Ruby还有between?:

if (value.between?(lower, higher)) 
   ...
Run Code Online (Sandbox Code Playgroud)

您可以将它与content_tagrails中的帮助器结合使用:

content_tag(:span, value, :class => value.between?(lower, higher) ? "between" : "not-between")
Run Code Online (Sandbox Code Playgroud)