order_by in block each rails 3.1

hyperrjas picture hyperrjas · Dec 30, 2011 · Viewed 13.6k times · Source

I have a loop for with order_by for :created_at and :desc

<% for comment in post.comments.order_by([:created_at, :desc]) %>
<% end %>

How can I doing the order_by([:created_at, :desc]) in block with each, e.j:

<% post.comments.each do |comment|%>
<% end %>

Edited

The code that working fine for me its:

post.comments.order([:created_at, :desc])[0,5].each do |comment|

with the [0,5] limit the result to interval.

Answer

alony picture alony · Dec 30, 2011

order method is what you're looking for:

<% post.comments.order("created_at desc").each do |comment|%>
<% end %>