Rails:重新排序ActiveRecord结果集

yel*_*ign 1 ruby-on-rails

我想按审核日期检索最后五篇文章,但我想按时间顺序(升序)显示它们.我该怎么做呢?

# controller
@recent_articles = Article.where("reviewed = ?", true).order("review_date DESC").limit(5)

# view
<% @recent_articles.each do |ra| %>
  # articles sorted by review_date in ascending order
<% end %>
Run Code Online (Sandbox Code Playgroud)

我尝试在控制器中执行此操作,但它检索了最旧的五个review_dates(即它只是通过ASC顺序检索记录而不是重新排序已检索的数组):

@recent_articles = Article.where("reviewed = ?", true).order("review_date DESC").limit(5)
@recent_articles = @recent_articles.reorder("review_date ASC")   
Run Code Online (Sandbox Code Playgroud)

gre*_*tes 5

所以你想要DESC查询中的文章,但是它们是以相反的顺序从数据库进来的?

@recent_articles.reverse!