Sorting a has_many collection


Can’t quite figure this one,

I have a School (has_many reviews) and a Review (belongs_to school).

I’m rendering my reviews per school like this “

Which renders the “_review.html.erb” multiple times for reviews of that
school (works a treat).

But how do I control the order in which these are displayed (I’d like to
reverse them basically most recent on top).



this should work: { |cc| - cc.updated_at.to_i }


class School < AR
has_many :reviews, :order => ‘created_at DESC’

class Review < AR
belongs_to :school

If you use you’ll get the desired effect…

escribió:> this should work:


That’s ideal! thanks.

Follow up question, what if I want to override this order from time to
time, say on some occasions have the reviews sorted by their last_name



You could also render it with jquery or some javascript library that
enables you to write the set of reviews once to javascript and present
and re-present in multiple ways as needed without more roundtrips to
the server.



You could use named_scope to get more complexity. I think that’s a

bingo bob escribió: