Acts_as_commentable: find Post by date of comment


I am using acts_as_commentable (related to Post) and I would like to
know how to get the list the posts ordered by date of comment (i.e.
post with recent comment first).

in addition if a post has no comment, i would it to be inserted based
on its creation date.

Thanks for your help


Here’s how I did it last night after about an hour of googling the
shit out of it and coming up empty.

First I load all the messages

@messages = Message.all

Then I loop through them all, and if a message has a comment,

I change the message’s created_at field to the comments created_at

@messages.each do |message|
comment = message.comments.find(:first, :order => ‘created_at
message.created_at = comment.created_at unless comment.blank?

Then I sort the messages by their (new) created_at dates, which


get saved so they don’t overwrite their real created_at fields.

@messages.sort! { |b,a| a.created_at <=> b.created_at }

Then I take the top 5 to use in my dashboard view.

@messages = @messages[0…4]

This works regardless of whether a Message (or Post in your case) has
any comments. This looks a little hackish to me, so please, Rails
gurus, have at it.

Hope this helps!
Morgan Currie

The Ruby on Rails web application framework has built up a tremendous
head of steam over the last year. Fueled by some significant benefits
and an impressive portfolio of real-world applications already in
production, Rails is destined to continue making significant inroads in
2006. Simply put, Ruby on Rails is an open source tool that gives you
the advantage of rapidly creating great web applications backed by SQL
databases to keep up with the speed of the web.

Friends Dating

Message.all.sort_by { |m| m.comments.blank? ? m.created_at :
m.comments.last.created_at }[0…4]

Hi, it works fine witn ruby 2.x?? I’m very interested.

I read the it doesn´t work with this version, see this comments:

and I´m using rails 2.0.2

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs