2012-09-24 47 views
1

我在控制器是這樣的:當看物體時有偏移嗎?

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

但在該視圖中我2米獨立的區域,4在其它酮和4-顯示它們。

而不是做這樣的事情的:通過所有元素

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

循環,是可以循環,並從有限數目(0-3,4-7)?

感謝

回答

3

你也可以用這個

@gameSlices = @puzzleGames.each_slice(4) 

嘗試然後使用@gameSlices.first@gameSlices.last

編輯:只是原來,@gameSlices.next在這種情況下可能非常有用。它會一個一個地返回每個片。

,或者你可以像使用

@puzzleGames.each_slice(4) do |slice| 
    # Do your stuffs with slice 
end 
+0

@ puzzleGames.each_slice(4)做了塊|切片|會得到切片0-3還是從@puzzleGames創建兩個子集(大小爲4)? – Saad

+0

它會創建兩個切片,如'[0..3]'和'[4..7]',並且會將塊** **兩次**。這意味着在第一次迭代中,切片將包含**前半部分**並且在下一次迭代中將包含**後半部分**。 – Samiron

+0

這是我剛剛用http://ideone.com/fm0pT玩的一個鏈接。你可以看到迭代的輸出。 – Samiron

0

嘗試 @puzzleGames[0...4]@puzzleGames[4...8]

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 %>