2

快速的問題,我相信這可以很容易地回答。我在我的PagesController這行代碼顯示出與用戶的所有帖子:如何限制Feed中顯示的帖子項數量?

@microfeed_items = Micropost.find_all_by_user_id(current_user.id) 

有什麼我可以添加到這行代碼,這樣說,只有5所最近發表的文章中顯示?

在此先感謝!

回答

3

我假設你的模型中有一個用於調用order的created_at屬性,如果沒有,你可以通過ID降序命令,假設它們是增量分配的。這應該爲你做它:

@microfeed_items = Micropost.where(:user_id => current_user.id).limit(5).order("created_at DESC") 

看一看在軌道上的ActiveRecord的查詢指南,瞭解更多信息:http://guides.rubyonrails.org/active_record_querying.html#limit-and-offset

+1

如果他想要最近發佈的帖子,他是不是需要應用此命令? – 2012-02-06 03:45:11

+0

確實如此 - 編輯了包含'order'方法的答案。 – 2012-02-06 05:14:49

0

如果您已經安裝UserMicropost之間的關係正常,你應該能夠使用current_user.microposts。然後您可以使用last方法返回最後5個帖子:

@microfeed_items = current_user.microposts.last(5) 
相關問題