如何抓取除轨道上的红宝石中的最后 2 条记录之外的所有记录



致力于显示和隐藏评论,默认情况下我显示 2 个最新的:

帮助程序方法:

  def comments(micropost_id)
        Comment.where(:micropost_id => micropost_id).limit(2).order("created_at DESC").reverse
  end

2条评论将以这种方式显示:

评论 1(10 小时前发送)

评论2(一小时前发送)

我有一个显示所有评论可点击按钮,它将该特定微帖子的所有评论添加到列表中。这很好,除了我需要除 2 个最新评论之外的所有评论。

使用 offset(2) 会带走前 2 条评论。我基本上需要做与此相反的事情。所以想知道我是否可以链接到offset方法来实现这一目标,或者是否有一种专用的方法可以做与.offset()相反的事情?

提前致谢亲切问候

您可以按照

sergio 的建议进行操作,在从数据库中加载最后两个后将其切掉,或者您可以反转查询中的 order 子句,偏移 2,然后反转结果。

我会从数据库中获取所有注释并丢弃应用程序代码中的最后两个注释。这使得查询非常简单高效。传统上,数据库是最难扩展的组件,因此不应对其造成任何不必要的负载。

最新更新