gpt4 book ai didi

ruby-on-rails - 如何对一组 ActiveRecord 对象进行分组?

转载 作者:太空宇宙 更新时间:2023-11-03 18:27:53 25 4
gpt4 key购买 nike

我有一个数组:

<% @widgets.each do |w| %>
...
<% end %>

如何分组显示它们?让我们说到 4:

<div>1, 2, 3, 4</div>
<div>5, 6, 7, 8</div>
etc.

谢谢。

最佳答案

你给的具体例子,你要each_slice :

<% @widgets.each_slice(4) do |ws| %>
<div><%= ws.join(', ') %></div>
<% end %>

您可能还对 each_cons 感兴趣(每个连续的,例如“1,2,3”,“2,3,4”,“3,4,5”等)或 group_by用于任意分组。

Person = Struct.new(:name,:age,:male) do
def inspect
"<#{'fe' unless male}male '#{name}' #{age}>"
end
end

all = [
Person.new("Diane", 12, false),
Person.new("Harold", 28, true),
Person.new("Gavin", 38, true),
Person.new("Judy", 55, false),
Person.new("Dirk", 59, true)
]

p all.group_by(&:male)
#=> {
#=> false=>[ <female 'Diane' 12>, <female 'Judy' 55> ],
#=> true =>[ <male 'Gavin' 38>, <male 'Harold' 28>, <male 'Dirk' 59> ]
#=> }

p all.group_by{ |person| (person.age / 10) * 10 }
#=> {10=>[<female 'Diane' 12>],
#=> 20=>[<male 'Harold' 28>],
#=> 30=>[<male 'Gavin' 38>],
#=> 50=>[<female 'Judy' 55>, <male 'Dirk' 59>]}

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

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