Reputation: 300
I'm attempting to dynamically construct an accordion with rails-bootstrap, however the div ids all end up being statically assigned to the same thing, "info", so only the first module will expand or collapse.
How do I dynamically label the div id="info" using ruby?
<div class="accordion" id="categories">
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle btn" data-toggle="collapse" data-parent="#accordion" href="#info">
<h2><%= info_section.name%></h2>
</a>
<div id="info" class="accordion-body collapse">
<div class="acccordion-inner">
<% info_section.info_sub_sections.each do |sub_section| %>
<%= render 'info_sections/sub_box', info_sub_box: sub_section %>
<% end %>
</div>
</div>
</div>
</div>
Thanks!
Upvotes: 3
Views: 2985
Reputation: 160191
<% info_section.info_sub_sections.each do |sub_section| %>
<div id="info_<%= sub_section.id %>" class="accordion-body collapse">
<div class="acccordion-inner">
<%= render 'info_sections/sub_box', info_sub_box: sub_section %>
</div>
</div>
<% end %>
(Or whatever you want to name the div; you could use each_with_index
, and so on.)
Upvotes: 7