LoginSignup
0
0

More than 1 year has passed since last update.

【Rails】繰り返し処理におけるインデックスについて

Last updated at Posted at 2022-02-20

each do 文におけるインデックス

hoge.html.erb
<% @hoges.each_with_index do |hoge, i| %>
  <div data-columns="<%= i %>">
    <%= hoge.content %>
  </div>
<% end %>

上記のように、each do を each_with_index do と記述し、
インデックスのブロック変数( i )を与えてやることで、繰り返し処理にインデックスを振ることができる。
上記の例のようにdata-*属性を与えたい時などに応用することができる。

render partial の collectionオプションにおけるインデックス

  • viewの記述
hoge.html.erb
<%= render partial: 'hoge', collection: @hoges, as: 'hoge' %>

  • partialの記述
_hoge.html.erb
<div data-columns="<%= hoge_counter %>">
    <%= hoge.content %>
</div>

先程の each do 文と同様の内容を partial の collection オプションを使って書くと上記のようになる。
collectionオプションの場合は、インデックスは自動で生成されており、「変数の名称_counnter」として扱うことができる。(この命名は与えたpartialの名称に依存する。)

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0