在我的应用程序中学习RoR,我想在列表中获取最后的x(比如5)记录。
目前我全部使用
<% @business_partner.received_documents.each do |document| %>
查看文档和SC帖子,我尝试使用下面的代码,但得到一个空列表。
<% @business_partner.received_documents.last(5) do |document| %>
我应该使用什么?
答案 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| %>