获得最近5条记录

时间:2016-10-05 08:51:15

标签: ruby-on-rails ruby-on-rails-5

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

目前我全部使用

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

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

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

我应该使用什么?

2 个答案:

答案 0 :(得分:6)

按创建日期排序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|

答案 1 :(得分:1)

您忘记了代码中的用户each

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