Ruby on rails 在rails 2.3.8中一次解析或迭代几个记录
我想一次将5条记录拉入视图(我使用的是rails 2.3.8) 我使用的是will_paginate,效果很好,但是: 我想将这些结果发送到视图,一次发送5条记录,然后添加一个div,然后循环,直到它们全部显示出来 我尝试使用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条记录,
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
除了允许使用默认值填充最后一个组中的空项外,还使用了每个切片。