快速的問題,我相信這可以很容易地回答。我在我的PagesController這行代碼顯示出與用戶的所有帖子:如何限制Feed中顯示的帖子項數量?
@microfeed_items = Micropost.find_all_by_user_id(current_user.id)
有什麼我可以添加到這行代碼,這樣說,只有5所最近發表的文章中顯示?
在此先感謝!
快速的問題,我相信這可以很容易地回答。我在我的PagesController這行代碼顯示出與用戶的所有帖子:如何限制Feed中顯示的帖子項數量?
@microfeed_items = Micropost.find_all_by_user_id(current_user.id)
有什麼我可以添加到這行代碼,這樣說,只有5所最近發表的文章中顯示?
在此先感謝!
我假設你的模型中有一個用於調用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
如果您已經安裝User
和Micropost
之間的關係正常,你應該能夠使用current_user.microposts
。然後您可以使用last
方法返回最後5個帖子:
@microfeed_items = current_user.microposts.last(5)
如果他想要最近發佈的帖子,他是不是需要應用此命令? – 2012-02-06 03:45:11
確實如此 - 編輯了包含'order'方法的答案。 – 2012-02-06 05:14:49