У меня есть модель под названием Dish
, которая составляет :served_from
и :served_until
в день, например, спагетти болоньезе подается с понедельника 2011-10-31 до воскресенья 2011-11-06.
Вкл.на странице ресторана я хочу показать все блюда, доступные во время недели 44:
- Понедельник: спагетти болоньезе
- Вторник: спагетти болоньезе
- ...
До сих пор я сохранял только :date
в Dish
и использовал следующий код для группировки всех блюд текущего рабочего дня по дням:
dishes = Dish.where(:date => (Date.commercial(Date.today.year, Date.today.cweek, 1))..(Date.commercial(Date.today.year, Date.today.cweek, 7)))
dishes.group_by(&:date).each do |date, dish|
puts "Date: #{date}"
puts "Dishes: #{dish.count}"
dish.each do |dish|
puts dish.name
end
end
Я заменил :date
на :served_from
и :served_until
для обработки блюд, которые подаются чаще, чем один день.Но как мне использовать Dish.where
, чтобы найти все блюда между :served_from
и :served_until
и сгруппировать их по cweek.day?
Заранее спасибо