我在控制器中有类似这样的东西:
@puzzleGames = Game.where("category = 'puzzle'").limit(8)但在视图中,我将它们显示在两个独立的区域中,一个区域中有4个,另一个区域中有4个。
而不是做这样的事情:
<% @puzzleGames.each do |puzzleGame| %>要循环遍历所有元素,是否可以循环到一个有限数(0-3,4-7)?
谢谢
发布于 2012-09-24 18:25:22
您也可以尝试这样做
@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-24 18:21:17
试试@puzzleGames[0...4]和@puzzleGames[4...8]
发布于 2012-09-24 18:25:44
@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 %>https://stackoverflow.com/questions/12563023
复制相似问题