查询中有:limit条,我将获得前N条记录.获取last N记录的最简单方法是什么?

推荐答案

更新答案(2020年)

您只需使用last方法即可获得最后N条记录:

Record.last(N)

例子:

User.last(5)

按id降序返回5个用户.

不赞成(旧答案)

像这样的活动记录查询我想可以得到你想要的("某物"是模型名):

Something.find(:all, :order => "id desc", :limit => 5).reverse

edit:如 comments 中所述,另一种方式:

result = Something.find(:all, :order => "id desc", :limit => 5)

while !result.empty?
        puts result.pop
end

Ruby-on-rails相关问答推荐

Ruby on rails Admin-有没有一种方法可以在成对的管理控制器类中合并、重用应用程序控制器类?

有没有一种方法可以点击一个按钮来冒泡到父元素?

合成轨道布局

尽管安装并需要 pry-rails gem,但 Rails 容器内出现未定义方法‘pry’错误

Ruby on Rails 让外键工作

使用 Ruby On Rails 的多个用户模型,并设计有单独的注册路由,但只有一个共同的登录路由

在 Rails 3.2 中更新多行

ActiveRecord 回调列表

Ruby - ActiveRecord::ConnectionNotEstablished

如何确定 Rails 是从 CLI、控制台还是作为服务器运行?

Rails 模型:您将如何创建一组预定义的属性?

在 where 查询中查找 nil has_one 关联

如何在Ruby 中对数字进行上限和舍入

通过 Ruby 或 Rails 的 LDAP

我可以在 twitter-bootstrap popover 数据内容中使用 html 标签吗?

资源和资源方法之间的区别

让 bundler 为不同的平台使用不同的 gem

如何在 Rails 3 中订购包含的元素

使用连接的 Ruby on Rails ActiveRecord 查询

设置EDITOR或BUNDLER_EDITOR环境变量