以下内容旨在将数组项分配到两列中。
<% @entitiquestions.in_groups_of(2, false) do |entitiquestions| %>
<tr>
<% entitiquestions.each do |entitiquestion| %>
<td>
<span data-tooltip class="hint--bottom hint--info" data-hint="<%= entitiquestion.question.query %>">
但是,有一个类应该根据数组项的索引进行设置(如果它实际上是一个索引......)
可以根据这个位置以某种方式设置条件吗?
答案 0 :(得分:3)
您可以使用each_with_index
获取数组项的索引,例如,以下内容将为您提供row_index
变量,该变量从第一行的0
开始:
<% @entitiquestions.in_groups_of(2, false).each_with_index do |entitiquestions, row_index| %>
同样,您可以使用以下命令获取列索引:
<% entitiquestions.each_with_index do |entitiquestion, column_index| %>
现在,您已拥有表中元素的确切位置,因此您可以使用三元运算符来添加类。例如,如果您想在行甚至可以执行时添加highlight
类:
<span data-tooltip class="hint--bottom hint--info <%= 'highlight' if row_index.even? %>"
以下是一个完整的例子:
<table>
<% @entitiquestions.in_groups_of(2, false).each_with_index do |entitiquestions, row_index| %>
<tr>
<% entitiquestions.each_with_index do |entitiquestion, column_index| %>
<td>
<span data-tooltip class="hint--bottom hint--info <%= 'highlight' if column_index.even? %>" data-hint="<%= entitiquestion.question.query %>">
<%= entitiquestion.question.query %>
</span>
</td>
<% end %>
</tr>
<% end %>
</table>