У меня есть метод, который проходит через каждый день недели:
def dates_week(d, delim)
"<tr>" + (d.beginning_of_week...(d.beginning_of_week+5)).map do |day|
"<#{delim}> #{yield(day)} </#{delim}>"
end.join + "</tr>"
end
Для каждого дня недели я подключаю это как аргумент к методу (или, возможно, named_scope, не выяснил, какой именно), который затем выведет .count для: всех писем, имеющих: date_sent в эту дату. Однако: date_sent - это отметка даты и времени, поэтому я не могу использовать ==, как у меня ниже.
def sent_emails_by_date(date)
ContactEmail.find(:all, :conditions => "date_sent = '#{date}'"
" ).count
end
Например, в View это то, что я использую:
<table class='reports'>
<%= dates_week(Date.today, "th") {|d| d.strftime("%A")} %>
<%= dates_week(Date.today, "td") {|d| sent_emails_by_date(d)}%>
</table>
Как найти все электронные письма, приходящиеся на день, для даты, прошедшей через метод, который проходит через неделю, как показано выше?