gpt4 book ai didi

ruby-on-rails-3 - 批量对 ActiveRecord 对象进行分组

转载 作者:行者123 更新时间:2023-12-04 07:22:38 24 4
gpt4 key购买 nike

我正在尝试返回我的 Rails 中的一组产品,以便在我的 View 中迭代时将它们分开。

例如,如果我有 13 个产品,我希望 View 中的 block 将前 7 个放在一行,然后将接下来的 6 个放在下一行(我正在使用 css 在下面放置一个架子产品)。

我一直在试验 find_in_batches,但似乎无法让它发挥作用(甚至不确定这是合适的方法)。

@shelves = Product.find_in_batches(:batch_size => 7) { |products| products }

例如,当我想根据日期进行分组时,我通常会使用 group_by - 有没有一种方法可以使用 group_by 按计数而不是模型属性进行分组?

最佳答案

find_in_batches.map 会给您一个no block 错误。你真正想要的是:

@shelves = Product.all.in_groups_of(7)

如果您希望最后一组没有额外的 nil 对象填充它,请尝试:

@shelves = Product.all.in_groups_of(7, false)

当然,您需要将 all 替换为更合理的范围,这样您就不会将整个数据库对象列表加载到内存中:)

关于ruby-on-rails-3 - 批量对 ActiveRecord 对象进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8528976/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com