2012-04-26 5 views
0

나는 레일 3 응용 프로그램 작업을 다음과 같은 형식으로 몇 가지 테스트 결과를 표시 할 필요가 있어요 :값이 Rails 3의 범위 내에 있는지 확인하십시오.

TestLower  TestResult TestUpper 
1.1   1.5   2.0 

내가하고 싶은 것은, 값이 낮은 내에있는 경우 그 결과를 하나 개의 CSS 클래스를 줄입니다 그리고 그 값이 범위를 벗어날 경우 다른 상한 클래스를 지정하십시오.

이전에 if 및 unless 문을 사용했지만이 값은 하나의 값이 아닌 다른 값과 비교해야하기 때문에 좀 더 복잡합니다.

내가 생각하는 유일한 방법은 if ​​문과 fallback이 포함될 수 있습니다. 'if @ lab.TestResult> @ lab.TestLower'와 같은 테스트를 거친 다음 TestUpper보다 낮은지 확인하는 또 다른 테스트를 수행합니다.

간단한 방법이 있나요? 어쩌면 어떤 형태의 레일 번호 도우미일까요?

도움이 될 것입니다.

답변

5

루비도있다 between? :

:

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

당신은 레일의 content_tag 도우미와 함께이 사용할 수

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

보기에 꽤 편리합니다! 감사 – dannymcc

2

동일한 경우 조건을 모두 검사를 수행 할 수 있습니다

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

아, 내가 필요한 것 - 감사합니다! – dannymcc

관련 문제