Sorting records into groups by date

I'm trying to wrap my head around this idea, and thought I might be able
to solicit the help of the community a little bit.

@comments = Finding all comments for a particular thread.

- Each comment has a date of when it was posted.

- I would like to display all comments that were posted in the past 7
days in one area, and then display all older comments in another.

- I could imagine doing this as two separate database queries, but is
there a way to modify a for loop to run through them for me?

- How do you handle the date selection to use the current day - 7?

Elliot,

Sounds like a good candidate for :named_scope (http://
api.rubyonrails.com/classes/ActiveRecord/NamedScope/
ClassMethods.html#M001246)

  named_scope :recent, :conditions => ['created_at > ?',
7.days.ago.to_s(:db)]
  named_scope :older, :conditions => ['created_at <= ?',
7.days.ago.to_s(:db)]

  @recent_comments = thread.comments.recent
  @older_comments = thread.comments.older

As to cutting down to one db call, generally, it won't hurt to have
two db calls but maybe someone else has a way.

I'm trying to wrap my head around this idea, and thought I might be
able
to solicit the help of the community a little bit.

@comments = Finding all comments for a particular thread.

- Each comment has a date of when it was posted.

- I would like to display all comments that were posted in the past 7
days in one area, and then display all older comments in another.

- I could imagine doing this as two separate database queries, but is
there a way to modify a for loop to run through them for me?

If you're happy doing it in ruby, the partition function is probably
what you're after

Fred