Mongoid Rails 4按asc或desc命令created_at排序

Chl*_*leo 35 sorting date mongoid ruby-on-rails-4

我有一个使用Mongoid的rails 4 app.我想做一些基本的事情是根据索引视图中的字段created_at以降序显示我拥有的书模型.在控制器books_controller.rb中:

def index
  @books = Book.order_by(:created_at.desc)
end
Run Code Online (Sandbox Code Playgroud)

这不起作用.我还尝试了以下2个不起作用:

@books = Book.find :all, :order => "created_at DESC"

Book.find(:all, :order => "created_at DESC").each do |item|
  @books << item
end
Run Code Online (Sandbox Code Playgroud)

在视图中我有这样的事情:

<% @books.each do |b| %>
  ...
<% end %>
Run Code Online (Sandbox Code Playgroud)

谢谢.

Sha*_*riq 54

你可以试试这个

def index
  @books = Book.order_by(created_at: :desc)
end
Run Code Online (Sandbox Code Playgroud)

它工作正常.

  • 小改进:`@books = Book.order_by(created_at :: desc)` (6认同)