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この場合に非常に役立つことが判明しました。各スライスを1つずつ返します。

または、次のようなブロックを使用できます

@puzzleGames.each_slice(4) do |slice|
    # Do your stuffs with slice
end
于 2012-09-24T10:25:22.163 に答える
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 に答える
0

試してみ @puzzleGames[0...4]@puzzleGames[4...8]

于 2012-09-24T10:21:17.117 に答える