Rails 3 - ActiveRecord和反向排序

时间:2012-02-13 17:32:17

标签: mysql database ruby-on-rails-3 sorting rails-activerecord

我在数据库中有以下数据:

1
2
3
4
5

我想输出这个:

3
4
5

我需要它在视图中打印:

<%car.colors.limit(3).order('created_at ASC').each do |color|%>
  ...

我知道存在 reverse_order ,但存在类似反向排序的内容?

(我知道可以将数据加载到数组然后遍历数组,但这种方式效率不高)

3 个答案:

答案 0 :(得分:20)

如何做到

<%car.colors.limit(3).order('created_at DESC').reverse.each do |color|%>

答案 1 :(得分:18)

对于Rails 4:

[Model].order(column: :desc)

对于Rails 3:

[Model].order("<column> DESC")

对于Rails 2:

[Model].all(:order => "<column> DESC")

答案 2 :(得分:0)

一线解决方案

在您的控制器中使用:

class Api::ImagesController < ApplicationController

  def index
    @posts =  Post.all.paginate(:page => params[:page], :per_page => 4).order(id: :desc)
    render :json => @posts.to_json(:methods => [:image_url])
  end

end