1

我在控制器中有这样的东西:

@puzzleGames = Game.where("category = 'puzzle'").limit(8)

但在视图中,我将它们显示在 2 个单独的区域中,其中 4 个在一个区域中,4 个在另一个区域中。

而不是做这样的事情:

<% @puzzleGames.each do |puzzleGame| %>

循环遍历所有元素,是否可以循环到有限数(0-3,4-7)?

谢谢

4

3 回答 3

3

你也可以试试这个

@gameSlices = @puzzleGames.each_slice(4)

然后使用@gameSlices.first@gameSlices.last

编辑:结果证明这@gameSlices.next在这种情况下非常有用。它将一个一个地返回每个切片。

或者您可以使用类似的块

@puzzleGames.each_slice(4) do |slice|
    # Do your stuffs with slice
end
于 2012-09-24T10:25:22.163 回答
0

尝试 @puzzleGames[0...4]@puzzleGames[4...8]

于 2012-09-24T10:21:17.117 回答
0
@puzzleGames = Game.where("category = 'puzzle'").limit(8)
@firstFourPuzzleGames = arr.each_slice(4).map(&:first)
@lastFourPuzzleGames = arr.each_slice(4).map(&:last)

<% @firstFourPuzzleGames.each do |puzzleGame| %>
<% end %>

<% @lastFourPuzzleGames.each do |puzzleGame| %>
<% end %>
于 2012-09-24T10:25:44.433 回答