コントローラーに次のようなものがあります。
@puzzleGames = Game.where("category = 'puzzle'").limit(8)
しかし、ビューでは、それらを2つの別々の領域に表示し、一方に4つ、他方に4つ表示します。
このようなことをする代わりに:
<% @puzzleGames.each do |puzzleGame| %>
すべての要素をループするには、有限数 (0-3,4-7) との間でループすることは可能ですか?
ありがとう
コントローラーに次のようなものがあります。
@puzzleGames = Game.where("category = 'puzzle'").limit(8)
しかし、ビューでは、それらを2つの別々の領域に表示し、一方に4つ、他方に4つ表示します。
このようなことをする代わりに:
<% @puzzleGames.each do |puzzleGame| %>
すべての要素をループするには、有限数 (0-3,4-7) との間でループすることは可能ですか?
ありがとう
これで試すこともできます
@gameSlices = @puzzleGames.each_slice(4)
次に、を使用@gameSlices.first
して@gameSlices.last
編集:@gameSlices.next
この場合に非常に役立つことが判明しました。各スライスを1つずつ返します。
または、次のようなブロックを使用できます
@puzzleGames.each_slice(4) do |slice|
# Do your stuffs with slice
end
@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 %>
試してみ
@puzzleGames[0...4]
て@puzzleGames[4...8]