【问题标题】:How to Limit the Number of Post Items Shown In a Feed?如何限制Feed中显示的帖子数量?
【发布时间】:2012-02-27 14:23:28
【问题描述】:

快速的问题,我相信这很容易回答。我的 PagesController 中有这行代码,它显示了与用户相关的所有帖子:

@microfeed_items = Micropost.find_all_by_user_id(current_user.id)

我可以在这行代码中添加什么内容,比如只显示最近的 5 个帖子吗?

提前致谢!

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-3 model-view-controller ruby-on-rails-3.1


    【解决方案1】:

    我假设您的模型中有一个 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

    【讨论】:

    • 如果他想要最近的帖子,他是否需要一个订单?
    【解决方案2】:

    如果你已经正确设置了UserMicropost之间的关系,你应该可以使用current_user.microposts。然后可以使用last方法返回最后5个帖子:

    @microfeed_items = current_user.microposts.last(5)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-05-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多