필드 값으로 검색 할 수있는 레일스 액티브 레코드에 바로 가기가 있습니까?ActiveRecord의 바로 가기?
예를 들어 '사용자'가 활성화되어 있거나 비활성화되어 있다고 가정 해 봅시다. User.active를 할 수있는 좋은 방법이 있습니까? 또는해야합니까? User.find_by_active (1)
상태 열과 같이 값이 다른 필드에도 적용됩니까? 예. Ticket.open, Ticket.closed?
필드 값으로 검색 할 수있는 레일스 액티브 레코드에 바로 가기가 있습니까?ActiveRecord의 바로 가기?
예를 들어 '사용자'가 활성화되어 있거나 비활성화되어 있다고 가정 해 봅시다. User.active를 할 수있는 좋은 방법이 있습니까? 또는해야합니까? User.find_by_active (1)
상태 열과 같이 값이 다른 필드에도 적용됩니까? 예. Ticket.open, Ticket.closed?
여기에 내 자신의 질문에 대답 :
스코프 명명 된:
http://ryandaigle.com/articles/2008/3/24/what-s-new-in-edge-rails-has-finder-functionality
active
속성은 데이터베이스에 부울 열을의 경우, 당신은 단순히 User.active?
를 호출 할 수 있으며 true
또는 false
가에 따라 반환합니다 boolean 형의 값
상태 열의 경우에는 작동하지 않습니다. 그러나 당신처럼 사용자 모델에 대한 메서드를 만들 수 있습니다 ...
def open?
true if self.state == "open"
end
def closed?
not open?
end
오픈? 메서드는 self.state == "open"을 반환 할 수 있습니다. 명시 적 true는 필요 없습니다. –