0
折叠只适用于第一个按钮,我知道这是因为只有第一个div id被设置为所有按钮。如何在使用hash.each时迭代并为每个元素创建新的div ID?Bootstrap手风琴折叠与红宝石哈希
这里是我的ERB:
<% @contacts.each do |category, hash| %>
<div class="panel-group" id=accordion">
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title"><%= category %></h3>
</div>
<div class="panel-body">
<ul class="list-group">
<% hash.each do |contact| %>
<li class="list-group-item" style="border: none">
<button type="button" class="btn btn-info" data-toggle="collapse" data-parent="#accordion" data-target="#demo"><%= contact['name'] %></button>
<div id="demo" class="panel-collapse collapse">
<div class="panel-body"><%= contact['email'] %></br><%= contact['ext'] %>
</div>
</div>
</li>
<% end %>
</ul>
</div>
</div>
</div>
<% end %>
下面是从我的.rb相应的代码:
get '/contact' do
contact = Contacts.new
@contacts = contact.getContacts
@contacts.each { |s| puts "get /contact found contact #{s.last.first['name']}" }
erb :contact
获得一个语法错误 - 在#崩塌#无法识别的表达{ index} –
如果您的更改仍然出现语法错误,它不会像'data-target =“#collapse#{index}”' –
更新我的答案,它应该是目标='#崩溃<%= index %>'和ID ='崩溃<%= index %>' –