2012-01-23 8 views
0

У меня есть модельный ресторан и модельные дни закрытия. Каждый ресторан имеет несколько дней закрытия. У закрытых дней есть атрибут даты.Динамические условия в ассоциации ActiveRecord

Как создать область, которая покажет мне все открытые рестораны на сегодняшний день (все рестораны без дневной записи за этот день)?

Большое спасибо!

Chris

ответ

0

Я не знаю точно, как вы храните дни недели в таблице (текст номера и т.д.?), Но вы можете передать лямбда поименованному рамки - так что вы могли бы сделайте что-нибудь вроде этого:

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

Не проверено, но оно должно заставить вас указывать в правильном направлении.

+0

Каждый заключительный день-запись имеет атрибут даты, в котором хранится реальный объект даты. Заключительные дни не относятся к будним дням, они относятся к специальным дням, таким как xmas и т. Д. Проблема, с которой я столкнулся с запросом, подобным вашему, заключается в том, что я получаю несколько ресторанов, по одной записи за каждую запись закрытия. Но мне нужна только чистая коллекция ресторанов, которые открыты сегодня. –

+0

@ChrisCrown Hrm, это интересно - вы можете группировать по id ресторана, но это похоже на хак - я подумаю об этом немного больше. – acoffman

+0

Это было мое чувство тоже ... –

Смежные вопросы