目前我有这种方法:
<% for comment in @critical_process.review.comments %>
<div id="comment">
<%=h comment.comment %> <br/>
<span id="comment_email">
By: <%=h comment.user.email%>
</span>
</div>
<% end %>
然而,我需要它按照最近更新的顺序显示评论并按顺序显示。
由于
答案 0 :(得分:7)
假设Comment模型有一个updated_at
列,并且您使用的是Rails 3,您可以告诉ActiveRecord按照以下方式对Comment记录进行适当的排序:
<% for comment in @critical_process.review.comments.order('updated_at DESC') %>
Rails 2.x等价物将是:
<% for comment in @critical_process.review.comments.all(:order => 'updated_at DESC') %>
虽然这可以很好地工作,但通常认为最好将大部分查询生成移动到控制器中,在这种情况下,您可以在控制器中执行以下操作:
@comments = @critical_process.review.comments.order('updated_at DESC')
...然后迭代视图中的@comments
集合。