Rails - 每个对象的单独部分?

问题描述:

因此,在我当前的Rails应用程序中,我正在努力允许用户创建活动以及类别。类别与文件夹有些类似,用户可以使用它们对活动进行排序。Rails - 每个对象的单独部分?

我遇到的困难是不知道如何使用HTML来实现这一点。我知道你可以使用“each”循环打印数据库中每个类别或活动的名称。我正在使用Bootstrap样式表,它有一个我计划用来实现类别的“collapse”类。

但是,为了使用“折叠”类,它需要一个“href”给它将切换显示/隐藏的面板。当试图使用“each”循环时,结果是类别名称将用“collapse”作为数据切换打印出来,但每个类别都会引用同一个面板。这意味着我无法列出属于每个类别的活动,因为它们每个都只会切换显示/隐藏单个共享面板。

我道歉,如果我使用不正确的措辞来形容我有这个问题,但这里有一些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> 

您可以使用唯一ID,当您在HTML中使用的id,你应该做的反正。

<a data-toggle="collapse" href="#collapse1"> 

这一行的问题是,它是硬编码它必须是动态的:

<a data-toggle="collapse" href="#collapse<%= cat.id%>"> 

这样,每个切换HREF具有基于对象的ID列的唯一ID。

也将不得不改变这一行:

<div id="collapse1" class="panel-collapse collapse"> 

相同的:

<div id="collapse<%= cat.id %>" class="panel-collapse collapse"> 
+0

我这个不知道你能。谢谢您的帮助! – VectorConvoy