我正在尝试创建一个程序,可以将我的学生随机分成2组。我正在使用Ruby on Rails。
我在控制器上定义了一个数组......
def index
@register_number = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
end
我将此代码放在视图中,
<%= @register_number.shuffle.each_slice(2).to_a %>
浏览器上的就像这样。
[[10, 4], [3, 1], [9, 6], [7, 5], [2, 8]]
但我希望它们以每个“子阵列”的换行符出现,以使它看起来更整洁。
[
[10, 4],
[3, 1],
[9, 6],
[7, 5],
[2, 8]
]
如何在Ruby on Rails上执行此操作?我现在不想使用ActiveRecord。我只是想了解Ruby。先感谢您。
答案 0 :(得分:1)
您几乎就在那里,而不是输出数组的to_a
版本,您应该迭代each_slice项并打印结果。
<p>[</p>
<% @register_number.shuffle.each_slice(2) do |duet| %>
<p> [<%= duet.join(', ') %>] </p>
<% end %>
<p>]</p>