2009-04-27 8 views
1

필드 값으로 검색 할 수있는 레일스 액티브 레코드에 바로 가기가 있습니까?ActiveRecord의 바로 가기?

예를 들어 '사용자'가 활성화되어 있거나 비활성화되어 있다고 가정 해 봅시다. User.active를 할 수있는 좋은 방법이 있습니까? 또는해야합니까? User.find_by_active (1)

상태 열과 같이 값이 다른 필드에도 적용됩니까? 예. Ticket.open, Ticket.closed?

답변

1

active 속성은 데이터베이스에 부울 열을의 경우, 당신은 단순히 User.active?를 호출 할 수 있으며 true 또는 false가에 따라 반환합니다 boolean 형의 값

상태 열의 경우에는 작동하지 않습니다. 그러나 당신처럼 사용자 모델에 대한 메서드를 만들 수 있습니다 ...

def open? 
    true if self.state == "open" 
end 

def closed? 
    not open? 
end 
+0

오픈? 메서드는 self.state == "open"을 반환 할 수 있습니다. 명시 적 true는 필요 없습니다. –