快速提问,我相信这很容易回答。我在PagesController中有这行代码,它显示了与用户相关的所有帖子:
@microfeed_items = Micropost.find_all_by_user_id(current_user.id)
我可以在这行代码中添加一些内容,以便只显示最近的5个帖子吗?
提前致谢!
答案 0 :(得分:3)
我假设你的模型中有一个created_at属性用于调用order
,如果没有,你可以按ID降序排序,假设它们是递增分配的。这应该适合你:
@microfeed_items = Micropost.where(:user_id => current_user.id).limit(5).order("created_at DESC")
有关详情,请查看ActiveRecord查询的Rails指南:http://guides.rubyonrails.org/active_record_querying.html#limit-and-offset
答案 1 :(得分:0)
如果您已正确设置User
和Micropost
之间的关系,则应该可以使用current_user.microposts
。然后,您可以使用last
方法返回最后5个帖子:
@microfeed_items = current_user.microposts.last(5)