この記事では、初心者向けに配列の要素を下記のように表示させるロジックを紹介したいと思います。
実行環境は、Ruby2.3.1 Rails5.2.1 です。
重複なくデータを表示させるためのRubyの便利なeach_with_indexメソッドを紹介させていただきます。
each_with_indexメソッドの書き方
配列.each_with_index do |item, i|
具体的なソースコード
games=[“将棋”, “囲碁”, “オセロ”]
#配列gamesを用意
games.each_with_index do |item, i|
puts “#{i+1}番目の要素は#{item}です。”
end
結果
1番目の要素は将棋です。
2番目の要素は囲碁です。
3番目の要素はオセロです。
次にループの処理が2回行われるごとに線を引きます。
<% @post.each_with_index do |post, i| %>
<% if i%2==0 %>
<hr>
<%= post.id %>
<% else %>
<div clasa = "content2">
<%= post.id %>
</div>
<% end %>
<% end %>
これで下記のとおり、データ2つごとに線を引く動作が出来ます。
あとは、データベースから画像を受け取ったり、レイアウトを調整すれば、下記のようなものが創れます。
以上です。