2012-01-23 3 views
0

모델 레스토랑과 모델 마감일이 있습니다. 각 Restaurant에는 휴무일이 있습니다. Closingdays에는 날짜 속성이 있습니다.ActiveRecord 연결에 대한 동적 조건

오늘 (오늘 종가 기록이없는 모든 레스토랑) 오늘 열려있는 레스토랑을 모두 표시하는 범위를 만들려면 어떻게해야합니까?

고맙습니다.

크리스

난 당신이 테이블에 (텍스트 번호 등?) 요일을 저장하고 정확히 모르겠지만, 이름이 지정된 범위에 람다를 전달할 수

답변

0

- 그래서 당신은 할 수 다음과 같이하십시오.

named_scope :open_today, lambda { joins(:closing_days).where('open_day = ?', Time.now.wday) } 

테스트되지 않았지만 올바른 방향으로 지적해야합니다.

+0

각 closingday-record에는 실제 날짜 개체를 저장하는 date 특성이 있습니다. Closingdays는 평일과 관련이 없습니다. 크리스마스와 같은 특별한 날입니다. 내가 당신과 같은 쿼리를 사용하는 데 문제가되는 것은 레스토랑을 여러 번 얻고 각 마감일 레코드에 대해 하나의 레코드를 얻는 것입니다. 그러나 나는 오늘 열려있는 깨끗한 음식점 컬렉션만을 필요로합니다. –

+0

@ChrisCrown Hrm, 흥미 롭습니다. 식당 ID별로 그룹화 할 수 있지만 해킹 같은 것 같습니다. 조금 더 생각할 것입니다. – acoffman

+0

그건 내 감정 이었어 ... –