【发布时间】:2017-03-17 01:45:38
【问题描述】:
因此,在我当前的 Rails 应用程序中,我正在努力允许用户创建活动和类别。这些类别的行为有点类似于文件夹,用户可以使用它们对活动进行排序。
我遇到的困难是不知道如何用 HTML 来实现它。我知道您可以使用“每个”循环打印出数据库中每个类别或活动的名称。我正在使用 Bootstrap 样式表,它有一个“折叠”类,我打算用它来实现类别。
然而,为了使用“collapse”类,它需要一个面板的“href”,它将切换为显示/隐藏。当尝试使用“每个”循环时,结果是类别名称将被打印出来,“折叠”作为数据切换,但每个类别将引用相同的面板。这意味着我无法列出属于每个类别的活动,因为它们每个都只会切换显示/隐藏单个共享面板。
如果我使用不正确的措辞来描述我遇到的问题,我深表歉意,但这里有一些 pictures to show what I mean
如果我在“每个”循环中有两个不同的面板并创建两个“折叠”数据切换实例以将它们链接到相应的面板,则可以轻松解决图片中的问题。但是,这是一个临时修复,因为当允许用户创建多个类别时,我需要为每个类别创建单独的面板以供参考。
基本上,我需要能够为属于公共类别的每组活动创建单独的面板,然后将每个面板链接到相应的活动。由于我对 HTML 和 Rails 的了解有限,我想不出一个解决方案或如何解决这个问题。任何帮助或建议将不胜感激,谢谢
类别显示代码:
<body>
<div class="panel-body">
<h2 align = "center">Categories</h2>
</div>
<% @categories.each do |cat| %>
<div class="panel-group">
<div class="panel-group">
<div class="panel text-center">
<div class="panel-heading">
<h4 class="panel-title">
<a data-toggle="collapse" href="#collapse1">
<%= cat.c_name %>
</a>
</h4>
</div>
<div id="collapse1" class="panel-collapse collapse">
<ul class="list-group">
<li class="list-group-item">Activity One</li>
<li class="list-group-item">Activity Two</li>
<li class="list-group-item">Activity Three</li>
</ul>
<div class="panel-footer">Activities</div>
</div>
</div>
</div>
</div>
<% end %>
</body>
【问题讨论】:
标签: javascript html ruby-on-rails twitter-bootstrap