11175
(-- --)
1
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