Ruby on rails 通过ActiveRecord的ID范围

Ruby on rails 通过ActiveRecord的ID范围,ruby-on-rails,arrays,activerecord,Ruby On Rails,Arrays,Activerecord,我知道我可以使用People.first(100)检索前100条记录,对People.last(100)也是如此 我不知道的是,当总数为1000条记录时,如何检索200-400范围内的所有对象?如果您在搜索特定字段,您的标题表明您在搜索id People.where('id BETWEEN ? AND ?', 200, 400) 或者 如果您没有在特定字段上搜索,您可能希望使用Big_Bird的限制和偏移方法。您需要的是限制和偏移-阅读了解更多信息 例如: People.limit(200).

我知道我可以使用
People.first(100)
检索前100条记录,对
People.last(100)
也是如此


我不知道的是,当总数为1000条记录时,如何检索200-400范围内的所有对象?

如果您在搜索特定字段,您的标题表明您在搜索id

People.where('id BETWEEN ? AND ?', 200, 400)
或者


如果您没有在特定字段上搜索,您可能希望使用Big_Bird的限制和偏移方法。

您需要的是
限制
偏移
-阅读了解更多信息

例如:

People.limit(200).offset(200)

上述代码从201st记录开始获取200条记录-这意味着它将是记录201-400。

请记住,这不会返回范围内的值,它将返回从201st记录开始的200条记录。假设您删除了50条id在200到400之间的记录,您将获得200条记录,但您的记录的id可能在200到450之间。这有意义吗?因此,limitoffset方法确保获得200条记录,但如果要查找一系列ID(或其他字段),则可以使用where方法。
People.limit(200).offset(200)