获取最后 5 条记录

get last 5 records

在我学习 RoR 的应用程序中,我想获取列表中的最后 x(比如 5)条记录。

目前我都在使用

<% @business_partner.received_documents.each do |document| %>

查看文档和 SC 帖子,我尝试使用下面的代码,但得到一个空列表。

<% @business_partner.received_documents.last(5) do |document| %>

我应该使用什么?

按创建日期排序 received_documents,最后取 5 个:

@business_partner.received_documents.order(:created_at).limit(5)

要获得 5 个最新的,你会做:

@business_partner.received_documents.order(created_at: :desc).limit(5)

编辑

这个问题

@business_partner.received_documents.last(5) do |document|

您实际上没有遍历集合,因此没有显示输出。

使用each:

@business_partner.received_documents.last(5).each do |document|

您忘记在您的代码中使用 each

<% @business_partner.received_documents.last(5).each do |document| %>