[英]Bootstrap/Rails - String Interpolation inside accordion
我一直在努力在HTML手风琴中进行字符串插值。 我似乎无法弄清楚这是一个逻辑问题(对Rails来说是相当新的)。 我的问题是,虽然布局很好,但是当我单击以折叠3个可折叠面板中的任何一个时,它们全部都折叠了。 (因为我只有1#崩溃)。
最外层的ERB
<div class="container-fluid">
<div class="row">
<div class="col-md-2 col-sm-3">
<h2>Categorias</h2>
<div class="panel-group" id="accordion">
<%= render partial: "categories/catalog", collection: @categories, as: :c %>
</div>
</div>
_catalog部分
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title">
<a data-toggle="collapse" data-parent="#accordion" href="#collapse1">
<%= c.name %>
<span class="badge">4</span>
</a>
</h4>
</div>
<div id="collapse1" class="panel-collapse collapse in">
<% c.subcategories.each do |sc| %>
<div class="panel-body">
<a href="#">
<%= sc.name %>
</a>
</div>
<% end %>
</div>
</div>
控制者
def catalogo
@categories = Category.where("parent_id IS NULL")
unless params[:cat_id].blank?
@products = Product.where(category_id: params[:cat_id]).paginate(:page => params[:page], :per_page => 50)
else
@products = Product.all.paginate(:page => params[:page], :per_page => 50)
end
@categorieswparent = Category.where("parent_id IS NOT NULL")
end
您的ID必须是唯一的。 代替硬编码id="collapse1"
,使用记录的ID:
id="collapse<%= sc.id %>"
对负责折叠和展开手风琴的<a>
标签的href
进行相同的插值。
使用类别id id="#collapse<%= c.id %>"
在_catalog
Partial中插入元素ID。
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title">
<a data-toggle="collapse" data-parent="#accordion" href="#collapse<%= c.id %>">
<%= c.name %>
<span class="badge">4</span>
</a>
</h4>
</div>
<div id="collapse<%= c.id %>" class="panel-collapse collapse in">
<% c.subcategories.each do |sc| %>
<div class="panel-body">
<a href="#">
<%= sc.name %>
</a>
</div>
<% end %>
</div>
</div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.