views:

359

answers:

1

I'm attempting to sum daily purchase amounts for a given user. @dates is an array of 31 dates. I need the find condition to compare a date from the array to the created_at date of the purchases. What I'm doing below compares the exact DateTime for the create_at column. I need it to look at the day itself, not the DateTime.

How can I write this so created_at is in between the date from the array?

<% @dates.each do |date| %>

<%= current_user.purchases.sum(:amount, :conditions => ["created_at = ?", date]) %> <% end %>

+2  A: 

You need to find the starting and ending dates in that array and then you will be able to the entries where created_at is in between using this:

:conditions => ["created_at >= ? AND created_at <= ?", start_date, finish_date]
Pran
Thanks! I got it to work.
Dustin Brewer