Ruby on rails 在rails 2.3.8中一次解析或迭代几个记录

Ruby on rails 在rails 2.3.8中一次解析或迭代几个记录,ruby-on-rails,ruby,dry,Ruby On Rails,Ruby,Dry,我想一次将5条记录拉入视图(我使用的是rails 2.3.8) 我使用的是will_paginate,效果很好,但是: 我想将这些结果发送到视图,一次发送5条记录,然后添加一个div,然后循环,直到它们全部显示出来 我尝试使用find\u in\u batches,但我不知道如何访问它返回的对象。我能用#{}吗 我知道有.first和和.last方法,但有.second、.third、.fourth等方法吗?你有一个批量查找的例子吗 不过,这可能不是您正在寻找的解决方案。如果您有5000条记录,

我想一次将5条记录拉入视图(我使用的是rails 2.3.8)

我使用的是will_paginate,效果很好,但是:

我想将这些结果发送到视图,一次发送5条记录,然后添加一个div,然后循环,直到它们全部显示出来

我尝试使用
find\u in\u batches
,但我不知道如何访问它返回的对象。我能用
#{}


我知道有
.first
.last
方法,但有
.second
.third
.fourth
等方法吗?

你有一个
批量查找的例子吗

不过,这可能不是您正在寻找的解决方案。如果您有5000条记录,这将发出1000个数据库查询

更好的解决方案是使用
每个_slice
,此方法将在一个数据库查询中获取所有记录,然后分割结果集:

Person.find(:all, :conditions => "age > 21").each_slice(5) do |group|
  group.each { |person| person.party_all_night! }
end

您有一个“批量查找”的示例:

不过,这可能不是您正在寻找的解决方案。如果您有5000条记录,这将发出1000个数据库查询

更好的解决方案是使用
每个_slice
,此方法将在一个数据库查询中获取所有记录,然后分割结果集:

Person.find(:all, :conditions => "age > 21").each_slice(5) do |group|
  group.each { |person| person.party_all_night! }
end

您也可以使用Rails Core Extensions添加的
Array\in_groups\u of
方法。除了填充选项之外,它是否在每个
片上添加了其他内容?谢谢Benoit&Swand的帮助。Benoit,我真的很感谢你的回答和解释方式。回答得很好。我最终在组中使用了,因为我可以在视图中使用它,而不会牺牲will_paginate功能,
in_groups\u of
除了允许选项用默认值填充最后一个组中的空项之外,还使用了
每个片的
方法。您还可以使用Rails核心扩展添加的
数组#in_groups\u of
方法。它是否在每个片的
上添加了比填充选项更多的内容?谢谢,贝诺特和斯瓦南德寻求帮助。Benoit,我真的很感谢你的回答和解释方式。回答得很好。我最终使用了的in_groups_of,因为我可以在视图中使用它,而不会牺牲will_paginate功能。@BenoitGarret的,
in_groups_of
除了允许使用默认值填充最后一个组中的空项外,还使用了
每个切片。