2011-03-27 3 views
0

내 모델의 방법을 통해 사용자 정의 검색을 수행하고 싶습니다. 검색 조건 중 하나는 다음과 같습니다.조건부 문

 left = params[:left][:left_id] 
     right = params[:right][:right_id] 

     status = give_status(left, right) 

     where << "status_id_number = #{status}" 

매개 변수는 두 개의 드롭 다운 메뉴에서 제공됩니다. 내 문제는 상태 값을 설정하는 것입니다. 나는 아래와 같이 그것을 설치하고 싶은

  def self.give_status(left, right) 
      return left 
     end 

: 나는 같은 것을 할 경우 가 올바르게 왼쪽 PARAM의 값을 설정합니다. 왼쪽과 오른쪽 변수가 비교 된 후 조건에 따라 특정 반환 값이 지정됩니다. 아래 코드는 내가 당신의 param 문자열을

def self.give_status(left, right) 
    if left.to_i == 1 and right.to_i == 1 
    1 
    else 
    2 
    end 
end 

짧은 형태를 반환되는 1

 def self.give_status(left, right) 
     if left == 1 and right == 1 
      return 1 
     else 
      return 2 
     end 
     end 

답변

3

문제에 좌우 세트를 설정 한 경우에도, 2를 반환합니다

def self.give_status(left, right) 
    left.to_i == 1 && right.to_i == 1 ? 1 : 2 
end 

또는 처음 시작할 때 :

left = params[:left][:left_id].to_i 
right = params[:right][:right_id].to_i 
status = give_status(left, right) 
where << "status_id_number = #{status}" 

def self.give_status(left, right) 
    left == 1 && right == 1 ? 1 : 2 
end