2012-04-26 106 views
0

我工作的一個Rails 3應用程序,則需要顯示的格式如下一些測試結果:檢查一個值是否在Rails 3的範圍內?

TestLower  TestResult TestUpper 
1.1   1.5   2.0 

我想要做的,就是給結果一個CSS類,如果該值越低內和上限,然後給它一個不同的CSS類,如果該值超出範圍。

我已經使用過,如果和除非之前的聲明,但這是一個更復雜一點,因爲我需要比較一個值對另外兩個,而不是一個值對另一個。

我能想到做到這一點的唯一方法將涉及到很多,如果陳述和後備。比如'if @ lab.TestResult> @ lab.TestLower',然後再有一個檢查它比TestUpper更低。

有沒有簡單的方法來做到這一點?也許某種形式的鐵軌號碼助手?

任何幫助,將不勝感激!

回答

5

Ruby也有between?

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

你可以結合的content_tag助手在軌使用

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

這看起來很方便!謝謝 – dannymcc 2012-04-26 10:08:53

2

您可以在相同的,如果條件做兩個檢查:

lower, upper, value = ... 
if value > lower and value < upper 
    puts "In range" 
else 
    puts "Out of range" 
end 
+0

啊,正是我需要的 - 謝謝! – dannymcc 2012-04-26 09:36:06

相關問題